【发布时间】:2012-04-02 04:50:19
【问题描述】:
我知道为了让我强制应用程序处于某个方向,然后我在清单文件中为每个活动执行此操作:android:screenOrientation="portrait" 我的问题是,如果我只想将大屏幕的方向设置为横向,那我该怎么做呢?我所知道的是,每个屏幕尺寸都有特定的布局文件夹,但清单文件呢?它适用于所有屏幕尺寸。 有什么建议么? 谢谢
【问题讨论】:
我知道为了让我强制应用程序处于某个方向,然后我在清单文件中为每个活动执行此操作:android:screenOrientation="portrait" 我的问题是,如果我只想将大屏幕的方向设置为横向,那我该怎么做呢?我所知道的是,每个屏幕尺寸都有特定的布局文件夹,但清单文件呢?它适用于所有屏幕尺寸。 有什么建议么? 谢谢
【问题讨论】:
通过代码检查正在使用的设备。设备检查的示例代码是:
context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)==4
或
Build.VERSION.SDK_INT >=11
这个代码基本上是为了检查如果它的蜂窝标签没有。检查后通过代码设置方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
【讨论】:
把它放在你的 onCreate 活动中..
if ((getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_LARGE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
【讨论】:
使用下面的代码这样做
if((getApplicationContext().getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
【讨论】:
您可以在特定屏幕的清单文件中设置方向
【讨论】: