我正在编写一个使用具有不同内容(活动)标签的android应用程序。在其中一项活动中,我想将屏幕方向锁定为“横向”模式,但在其他活动中,我希望法线方向(根据传感器)。我现在正在做的是打电话setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);当我切换到横向模式活动时,以及setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);当我切换回其他活动时。但是,这似乎不起作用,整个应用程序已锁定。解决此问题的正常方法是什么?
3 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
在清单中,可以将screenOrientation设置为横向。在XML中看起来像这样:
<activity android:name="MyActivity"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation|screenSize">
...
</activity>
MyActivity您想在哪里住的地方在哪里。
的android:configChanges=...线防止onResume(),onPause()从当屏幕被旋转被调用。没有此线路,轮换将按您的要求进行,但仍会进行呼叫。
注:keyboardHidden和orientation所需要的<Android 3.2版(API级13),并且所有三个选项都需要3.2或以上,而不仅仅是orientation。
慕沐林林
TA贡献2016条经验 获得超9个赞
在您的项目的Android清单文件中,找到要修改其方向的活动声明,并添加以下代码,
android:screenOrientation="landscape"
对于横向和纵向,请添加以下代码,
android:screenOrientation="portrait"
- 3 回答
- 0 关注
- 810 浏览
添加回答
举报
0/150
提交
取消