我可以允许Android活动仅在某些条件下更改为横向吗?

时间:2010-12-13 12:43:14

标签: android conditional rotation

我的大多数应用程序在横向上都看起来不太好,但就我在“宽屏”屏幕上看到应用程序而言,这是用户的选择。 但是我有一个自动完成屏幕,并且该屏幕无法在横向模式下运行,因为当用户输入文本并且我将结果带入屏幕上的列表视图时,用户无法看到列表视图,因为虚拟键盘覆盖了所有内容。 所以我想在清单中定义这个活动不会在横向上使用,但我可以在横向模式下使用它来打开硬件键盘的设备...

所以要么我可以在清单中定义它(找不到怎么样),要么我需要以戏剧性的方式(发现键盘存在并打开以支持它,否则禁用旋转)。

任何人都知道如何做到这一点?:

2 个答案:

答案 0 :(得分:1)

你可以尝试

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

OR

活动android:name =“。SomeActivity”  机器人:screenOrientation = “纵向”

这些可能对你有帮助。

答案 1 :(得分:1)

您也可以截取这些配置更改:

<activity ...
    android:configChanges="orientation|keyboardHidden">
</activity>

并在onConfigurationChanged()中,您可以决定如何处理它们。