Android显示活动水平(景观)失败



我有一个关于水平方向的android显示活动的疑问,这是我的androidmainfest.xml中的代码:

 <activity
        android:name="com.runmaf.paodong.activity_new.ResultChartDataActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:screenOrientation="landscape">
 </activity>

,在大多数情况下,活动以水平方向显示:在此处输入图像描述

,但有时活动在垂直方向上显示如下:在此处输入图像描述

我还尝试将此处的代码添加到Activity的onCreate方法中,但它会以垂直方向显示: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

我也关闭了手机的Automatic rotation function!我不知道会发生什么?需要帮助!

用于一般答案(因为您给出的代码较少)

您可以将以下任何一个设置为android:screenOrientation activity TAG

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应用于应用程序元素,而应将属性应用于活动元素,并且还必须设置configChanges,如下所述

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

注意android:configChanges" configchanges表示配置更改由活动本身处理。没有它,如果有方向更改,活动将重新启动"

如果您指定了方向是"肖像",它将如何改变?如果您启动另一个改变方向的活动,它可以改变,然后将新活动退出,将您返回您的活动。例如,三星Galaxy S3上的默认图像捕获意图在某些方向"

引用此https://stackoverflow.com/a/4885663/5188159

最新更新