如何防止所有活动屏幕在android中旋转

时间:2012-05-04 11:20:45

标签: android rotation

我的申请大约有15项活动。现在我知道一种防止旋转活动的方法,即覆盖 onConfigurationChanged()方法并在xml中定义它。

因为我有大约15-20个活动,所以我不认为是最好的做法。那么还有其他方法吗?

4 个答案:

答案 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>