Android:强制横屏方向但允许旋转

6
我想强制我的Android应用程序进入横屏方向。我通过在 AndroidManifest.xml 中添加 screenOrientation 来实现这一点,像这样:
  <activity android:name="SomeActivity"
              android:label="@string/app_name"
              android:screenOrientation="landscape">

或者在我唯一的ActivityonCreate函数中添加以下行:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

问题在于上述两个解决方案均禁用了旋转。我该如何强制横屏但允许旋转?我希望能将手机旋转180度,从一个横屏到另一个横屏。


1
你是指默认为横向,但允许纵向吗? - Simon
您可以让用户在任何模式下启动活动,并检测他是处于横屏还是竖屏,然后使用警报处理强制横屏。 - Sanjeet A
不,我想要能够将手机旋转180度。从横屏到横屏。@Simon - user1766169
2个回答

11

您只需要在AndroidManifest.xml文件中设置android:screenOrientation属性为sensorLandscape即可。


5
请参考此链接:http://developer.android.com/reference/android/R.attr.html#screenOrientation 对于您的活动,请将属性设置为sensorLandscape。
这将启用屏幕横向显示,但可以使用传感器更改屏幕面向的方向。对应于SCREEN_ORIENTATION_SENSOR_LANDSCAPE。
代码示例:
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接