我在水平方向上有一个关于Android显示活动的问题,这是我在AndroidMainfest.xml中的代码:
<activity
android:name="com.runmaf.paodong.activity_new.ResultChartDataActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="landscape">
</activity>
并且在大多数情况下,活动在水平方向上显示: enter image description here
但有时活动会在垂直方向显示,如下所示: enter image description here
我还尝试将此处的代码添加到Activity onCreate
方法中,但它会以垂直方向显示:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
我也关闭了手机的Automatic rotation function
!
我不知道它发生了什么?需要你的帮助!
答案 0 :(得分:0)
获得一般性答案(因为您提供的代码较少)
您可以在android:screenOrientation
标记
activity
android:screenOrientation=["unspecified" | "behind" |
"landscape" | "portrait" |
"reverseLandscape" | "reversePortrait" |
"sensorLandscape" | "sensorPortrait" |
"userLandscape" | "userPortrait" |
"sensor" | "fullSensor" | "nosensor" |
"user" | "fullUser" | "locked"]
并指定活动在设备上的显示方向。 但是
注意: 如果活动在多窗口模式中运行,系统将忽略此属性。 https://developer.android.com/guide/topics/ui/multi-window.html
如果不是你在挖掘代码中的情况,那么看看旋转属性的位置在哪里使用
例如:view.setRotaion(90);
也
请勿将orientation
应用于应用元素,而应将该属性应用于activity元素,并且还必须设置configChanges
,如下所示
<activity
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
</activity>
注意:android:configChanges
“configChanges表示配置更改由活动本身处理。没有它,如果方向更改,活动将重新启动”
“
如果您已指定方向为“纵向”,它将如何更改?如果您启动另一项改变方向的活动,则会更改,然后退出新活动,返回您的活动。例如,Samsung Galaxy S3上的默认图像捕获意图在某些方向上执行“