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

时间:2013-04-11 19:38:20

标签: android android-activity orientation xamarin.android xamarin

我有一个MonoDroid应用程序,我想强制我的所有活动仅以纵向方式呈现。

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

[Activity (ScreenOrientation = ScreenOrientation.Portrait)]         
public abstract class BaseActivity : Activity
{
}

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

但是,如果你看一下ActivityAttribute定义,看起来它不支持继承。

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

1 个答案:

答案 0 :(得分:5)

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

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