我的申请大约有15项活动。现在我知道一种防止旋转活动的方法,即覆盖 onConfigurationChanged()方法并在xml中定义它。
因为我有大约15-20个活动,所以我不认为是最好的做法。那么还有其他方法吗?
答案 0 :(得分:4)
您可以在清单中添加:
android:screenOrientation="portrait"
您要限制的每项活动。也适用于“风景”。
答案 1 :(得分:4)
检查this。如果要限制方向,清单文件的activity
标记内的此属性可以创建奇迹。为了进一步参考,以下内容非常重要:
注意:当您声明其中一个横向或纵向值时,它是 被认为是对其定位的一个严格要求 活动运行。因此,您声明的值可以过滤 Google Play等服务,因此您的应用仅适用于 支持您的活动所需方向的设备。对于 例如,如果您声明“landscape”,“reverseLandscape”或 “sensorLandscape”,那么您的应用程序将仅可用于 支持横向的设备。但是,你也应该 明确声明您的应用程序需要肖像或 使用
<uses-feature>
元素的横向方向。例如,<uses-feature android:name="android.hardware.screen.portrait"/>
。这个 纯粹是Google Play(和其他人)提供的过滤行为 支持它的服务)和平台本身无法控制 是否可以在设备仅支持某些设备时安装您的应用 取向。
这是开发人员网站本身提供的规范。因此,如果您将应用限制为仅在纵向方向上执行,建议您在清单中使用以下标记,就在activity
标记之前:
<uses-feature android:name="android.hardware.screen.portrait"/>
答案 2 :(得分:2)
提供的清单条目@Stuart是您特定示例中的最佳选项。
一般来说,为避免重复每个活动的代码,我会定义自己的类,扩展Android Activity
并在其onCreate()
中执行所需的初始化。然后我的每个活动都会扩展我的扩展,而不是直接扩展Android提供的Activity。
答案 3 :(得分:0)
在清单中添加:
<activity android:screenOrientation="portrait"></activity>