Mono for Android - 所有活动均以纵向为主题

Edu*_*lho 5 android orientation xamarin.android android-activity xamarin

我有一个MonoDroid应用程序,我想强制我的所有活动只在纵向方向呈现.

我想创建一个Activity base classe,例如:

[Activity (ScreenOrientation = ScreenOrientation.Portrait)]         
public abstract class BaseActivity : Activity
{
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序中的所有其他活动应该继承它(也避免重复,并有一个中心位置来定义ScreenOrientation = ScreenOrientation.Portrait).

但是,如果查看ActivityAttribute定义,看起来它不支持继承.

[Serializable]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public sealed class ActivityAttribute : Attribute { ... }
Run Code Online (Sandbox Code Playgroud)
  1. 我是否必须Activity (ScreenOrientation = ScreenOrientation.Portrait)在我的应用程序中进行所有活动?
  2. 在Android世界中仅支持Portrait方向是一个坏主意吗?(我有一个仅适用于肖像的iOS应用程序,它可以很好地工作,不需要在横向上运行).

dmc*_*mck 5

您需要将属性放在每个Activity上.如果您要创建原生Android应用程序,则需要在清单中标记每个活动android:screenOrientation="portrait",使用此属性信号向Mono For Android执行相同操作.

不幸的是,属性并没有像你注意到的那样继承.