修复屏幕方向

时间:2011-11-21 08:58:22

标签: android android-layout android-manifest

我想将屏幕方向固定为标签中的横向模式,即7“ 我在编码中计算设备的英寸,并将其设置为:

int inch=((int)height_pixel1/(int)xdpi);
if(inch>=6){
    orientation=true;
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
    orientation=false;
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

问题首先是根据我的要求向我显示屏幕方向,但是当处理在两者之间时,它会以纵向方式改变方向,再以横向方式改变方向。它仍然在这些之间切换两个方向,我想为我的整个申请做一个固定的orienattion ...我在这里找不到任何财产?

3 个答案:

答案 0 :(得分:1)

尝试一下,只需将其设置在AndroidManifest.xml文件中:

<activity android:name=".ActivityName"
              android:label="@string/app_name"
              android:configChanges="orientation|keyboardHidden">  
              // Prevent application restart on orientation change

答案 1 :(得分:1)

创建一个文件夹layout-xlarge-land并将你的XML放入其中...它应该设计用于landsacpe屏幕..你也必须给出

android:largeScreens="true"  in manifest... 


res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation





 <supports-screens android:resizeable=["true"| "false"]
                      android:smallScreens=["true" | "false"]
                      android:normalScreens=["true" | "false"]
                      android:largeScreens=["true" | "false"]
                      android:xlargeScreens=["true" | "false"]
                      android:anyDensity=["true" | "false"]
                      android:requiresSmallestWidthDp="integer"
                      android:compatibleWidthLimitDp="integer"
                      android:largestWidthLimitDp="integer"/>

<强>参见 http://developer.android.com/guide/topics/resources/providing-resources.html

答案 2 :(得分:0)

请看看这个 .........

supports-screens android:resizeable=["true"| "false"]
              android:smallScreens=["true" | "false"]
              android:normalScreens=["true" | "false"]
              android:largeScreens=["true" | "false"]
              android:xlargeScreens=["true" | "false"]
              android:anyDensity=["true" | "false"]
              android:requiresSmallestWidthDp="integer"
              android:compatibleWidthLimitDp="integer"
              android:largestWidthLimitDp="integer

............... 这将是处理你的屏幕