首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >锁定屏幕方向(Android)

锁定屏幕方向(Android)
EN

Stack Overflow用户
提问于 2011-01-13 08:54:37
回答 3查看 313.6K关注 0票数 158

我正在编写一个android应用程序,它使用具有不同内容(活动)的选项卡。在其中一个活动中,我希望将屏幕方向锁定为“横向”-mode,但在其他活动中,我想要正常方向(根据传感器)。

我现在要做的就是打电话给

代码语言:javascript
复制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

当我切换到横向模式活动时,

代码语言:javascript
复制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

当我切换回其他活动时。然而,这似乎不起作用,整个应用程序都锁定了。解决这个问题的正常方法是什么?

EN

回答 3

Stack Overflow用户

发布于 2011-01-13 09:03:42

在清单中,您可以将screenOrientation设置为横向。在XML中,它看起来像这样:

代码语言:javascript
复制
<activity android:name="MyActivity"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation|screenSize">
...
</activity>

其中MyActivity是你想要留在风景中的那个。

android:configChanges=...行防止在屏幕旋转时调用onResume()onPause()。如果没有此行,轮换将按您的请求进行,但仍会进行调用。

注意:keyboardHidden和orientation,3.2或更高版本需要这三个选项,而不仅仅是orientation

票数 256
EN

Stack Overflow用户

发布于 2012-01-23 01:26:14

我也遇到过类似的问题。

当我进来的时候

代码语言:javascript
复制
<activity android:name="MyActivity" android:screenOrientation="landscape"></activity>

在清单文件中,这会导致该活动在横向显示。然而,当我返回到之前的活动时,它们显示在lanscape中,即使它们被设置为肖像。但是,通过添加

代码语言:javascript
复制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

在目标活动的OnCreate部分之后,立即解决了问题。因此,我现在使用这两种方法。

票数 63
EN

Stack Overflow用户

发布于 2012-03-26 14:32:32

在项目的Android清单文件中,找到您想要修改其方向的活动声明,并添加以下代码。

代码语言:javascript
复制
android:screenOrientation="landscape"

对于横向和纵向,添加以下代码,

代码语言:javascript
复制
android:screenOrientation="portrait"
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4675750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档