我想强制我的项目(目标 sdk 17-19)的一个特殊 Activity 以纵向模式显示。
为此,我放置了:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
在我类(class)的onCreate
事件中,- 和
android:configChanges="orientation|screenSize"
在 我的AndroidManifest.xml
的 Activity 部分。
这在我的模拟器上运行良好。
我必须以编程方式执行此操作,因为用户应该决定应该为这个单一 Activity 使用哪个方向。
在我的目标设备上(HP Slate 21,Android 4.2.2,没有可用的传感器)我的 Activity 以纵向模式显示,没有旋转屏幕,这意味着左侧有黑条,我 View 的右侧,尽管设备仍处于横向模式。
设备是横向的,但 View 是纵向的。在模拟器中,设备是横向的, View 也是横向的。可能是什么原因?
最佳答案
这是与 HP 21/HP 21 Pro 相关的问题。它们的模拟方向不是基于模拟设备,而是通过软件 Hook 完成的。在平板电脑上测试您的设置将表明您的代码可以正常工作。
关于Android SCREEN_ORIENTATION_PORTRAIT 仅在横向模式下显示纵向 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21990836/