我想强制我的项目的一个特殊活动(目标sdk 17-19)以纵向模式显示。
为此,我放置了:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
在我班级的onCreate
事件中,android:configChanges="orientation|screenSize"
我的AndroidManifest.xml
。这适用于我的模拟器。
我必须以编程方式执行此操作,因为用户应决定应使用哪个方向来执行此单个活动。
在我的目标设备上( HP Slate 21,Android 4.2.2,没有可用的传感器),我的活动以纵向模式显示而不旋转屏幕,这意味着左侧有黑条,虽然设备仍然处于横向模式,但我认为是正确的。
设备处于横向状态,但视图是纵向的。在模拟器中,设备处于横向状态,视图处于横向状态。可能是什么原因?
答案 0 :(得分:1)
这是与HP 21 / HP 21 Pro相关的问题。它们的模拟方向不是基于模拟设备,而是由软件钩子完成。在平板电脑上测试您的设置会显示您的代码正常运行。
答案 1 :(得分:0)
<activity android:name=".YourActivity"
....
android:screenOrientation="portrait">
这会对你有帮助。