2 nana4ever nana4ever 于 2012.11.05 09:57 提问

移动设备竖向模式的设置

我想给程序只设置竖向模式,而不用横向模式。
在网上查了些资料后,我在 manifest文件中添加了:

<application 
  android:debuggable="true"
  android:icon="@drawable/icon" 
  android:label="@string/app_name"
  android:screenOrientation="portrait">

但是在我的移动设备中(这里指HTC设备)不能正确运行,依旧会从竖向模式转向横向模式。
然后又在代码中添加:

<application 
  android:debuggable="true"
  android:icon="@drawable/icon" 
  android:label="@string/app_name"
  android:configChanges="orientation"       
  android:screenOrientation="portrait">

在Activity中加入这个功能:

public void onConfigurationChanged(Configuration newConfig)
{
    super.onConfigurationChanged(newConfig);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

依然在旋转。请问如何能让设备只显示竖向模式,不显示横向模式呢?

4个回答

franzhong
franzhong   2012.11.05 11:21
已采纳

不是对application加此属性,加在activity上试试

 <activity android:name=".myTestActivity1"   
                android:screenOrientation="portrait"></activity> 
nana4ever
nana4ever 谢谢,那是我的失误所在~~
接近 5 年之前 回复
myq_26
myq_26   2012.11.05 17:40

你应该在Avtivity中添加android:configChanges="orientation|keyboardHidden",否则Activity会在configChanges重启,onConfigurationChanged不应该被调用。如:

<activity android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden">
</activity>
yongyong_21
yongyong_21   2012.11.05 17:32

我觉得android:screenOrientation="portrait"只能单独在Activity中运行。所以在Activity中这样使用

<activity android:name=".<Activity Name>"
                  android:label="@string/app_name" android:screenOrientation="portrait">

        </activity>
baimy1985
baimy1985   2012.11.05 21:00

在需要的activity标签里加这个android:screenOrientation="nosensor"好像也可以

Csdn user default icon
上传中...
上传图片
插入图片