如何在两种不同模式下设置方向,两种布局?
我有一个名为Main.XML
布局,我在AndroidManifest.xml
中将方向设置为纵向。 我也为Honeycomb设计了这个布局并将其放在layout-xlarge-mdpi
文件夹中,但是我想在横向方向上使用layout-xlarge-mdpi
中layout-xlarge-mdpi
。
现在,怎么办呢?
谢谢
您可以将main.xml
放在layout-xlarge-land
,然后它将仅用于横向
请参阅支持多个屏幕(使用配置限定符)
Android支持多种配置限定符,允许您根据当前设备屏幕的特征控制系统如何选择备用资源。 配置限定符是一个字符串,您可以将其附加到Android项目中的资源目录,并指定其内部资源的设计配置。
编辑:如果你在layout
文件夹中提供main.xml
,在layout-xlarge-land
提供另一个main.xml
,那么
-
对于一个
extra large landscape orientation
,它将main.xml from layout-xlarge-land
获取main.xml from layout-xlarge-land
-
对于
all other, that is in landscape or portrait orientation
,它将main.xml from layout
获取main.xml from layout
有关详细信息,请参阅提供替代资源
创建一个layout-xlarge-mdpi-land
文件夹并将main.xml
放在其中
我想这可以这样做:
-
在onCreate中以编程方式检测屏幕尺寸。 http://www.mail-archive.com/android-developers@googlegroups.com/msg144381.html
-
根据屏幕大小设置方向,如下所示:
if(屏幕大小很大)setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); else setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
不知道这是不是最好的方式。
在AndroidManifest中,在横向模式下要运行的任何活动中插入以下代码(在本例中为主要活动)
android:screenOrientation="landscape"