如何以编程方式锁定android设备上的旋转(不是设备范围,只是我的应用程序)?
我知道如何更改manifest.xml中的方向:如何以编程方式锁定android设备上的旋转(不是设备范围,只是我的应用程序)?,android,rotation,orientation,Android,Rotation,Orientation,我知道如何更改manifest.xml中的方向: <activity android:name="com.mygdx.game.android.AndroidLauncher" android:label="@string/app_name" >> android:screenOrientation="landscape" << here android:configChanges="key
<activity
android:name="com.mygdx.game.android.AndroidLauncher"
android:label="@string/app_name"
>> android:screenOrientation="landscape" << here
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
好的,但是如果我想将android:screenOrientation=“landscape”和android:screenOrientation=“locked”结合起来呢?我找到的唯一答案要么是第一个,要么是第二个,但不是如何做到这两个。
我希望我的应用程序始终以横向方式启动,并且从不旋转或翻转。
如果我使用“景观”,它仍然可以翻转过来,所以它要么是90度,要么是270度。
如果我使用“锁定”,它将不会旋转,但在纵向模式下将保持0度
甚至有可能将这两种行为结合起来吗?就像我进入设置并禁用设备上的自动旋转一样。只要我的应用程序还在运行,这就是我想要的。我一直认为
SCREEN\u ORIENTATION\u scape
将方向锁定为一种配置,SCREEN\u ORIENTATION\u SENSOR\u scape
允许180度旋转。@danBuonocore我不知道我对android开发是完全陌生的。根据文档,我想这就是它应该做的,但它对我不起作用。当我在screen_ORIENTATION_横向模式下倾斜屏幕时,它仍然会翻转过来。编辑:刚刚又测试了一次。当我启动应用程序时,将设备侧向放置,它会工作,但如果我启动应用程序时,将设备直立放置,如果我倾斜它,它会继续翻转。因此,当你纵向放置它时,它会移动到横向位置,并允许你翻转到其他横向位置,但如果你在横向位置放置它,则一切都会工作?没错。如果我在横向模式下手持设备启动应用程序,它会工作;如果我在纵向模式下手持设备启动应用程序,它会像应该的那样切换到横向模式,但可以翻转过来。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);