我希望我的Android应用只能保持横向模式。所以,我在manifest.xml文件中使用了它:
android:screenOrientation="landscape"
然而,它将应用程序锁定在横向模式下,即使我将屏幕旋转180度,它仍保持相同的方向。是否有某种方式可以禁用纵向模式,而允许使用两种风景模式?
答案 0 :(得分:5)
在您的清单中,将您的活动screenOrientation标记更改为android:screenOrientation="sensorLandscape"
,然后就完成了。
根据移动传感器,这将使应用程序在两个方向上保持横向模式。
答案 1 :(得分:0)
除了Jagdeep Singh的答案之外,还有docs:
“sensorLandscape”
横向,但可以是正常景观或反向景观 基于设备传感器。 在API级别9中添加。
以下注释会有所帮助:
注意:当您声明其中一个横向或纵向值时, 它被认为是活动运行方向的硬性要求。因此, 您声明的值可以通过Google Play等服务进行过滤,因此您的应用就可以了 仅适用于支持您的活动所需方向的设备。对于 例如,如果您声明"landscape"
,"reverseLandscape"
或"sensorLandscape"
,那么您的应用程序将仅适用于支持的设备 景观取向。但是,您还应该明确声明 您的应用程序需要使用<uses-feature>
的纵向或横向方向 元件。例如,<uses-feature android:name="android.hardware.screen.portrait"/>
。这纯粹是一种过滤行为 由Google Play(以及支持它的其他服务)提供,而平台本身则没有 控制当设备仅支持某些方向时是否可以安装您的应用程序。
答案 2 :(得分:0)
每个活动的onCreate
方法:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);