如何在两种不同模式中设置方向,两种布局?

时间:2011-07-02 12:52:31

标签: java android layout screen-orientation

我有一个名为Main.XML的布局,我在AndroidManifest.xml中将方向设置为肖像。我也为Honeycomb设计了这个布局并将其放在layout-xlarge-mdpi文件夹中,但我只想在横向方向上使用Main.XML中的layout-xlarge-mdpi

现在,怎么做呢?

由于

4 个答案:

答案 0 :(得分:5)

您可以将main.xml放入layout-xlarge-land,然后只能在横向使用中使用 请参阅Supporting Multiple Screens (Using configuration qualifiers)

  

Android支持多种配置   允许您控制的限定符   系统如何选择你的   基于的替代资源   当前设备的特征   屏幕。配置限定符是   您可以附加到的字符串   Android中的资源目录   项目并指定   配置资源   里面是设计的。

编辑: 如果您在main.xml文件夹中提供layout,在main.xml提供另一个layout-xlarge-land,那么

    对于extra large landscape orientation
  • 需要main.xml from layout-xlarge-land

  • 对于all other, that is in landscape or portrait orientation
  • 将采用main.xml from layout

有关详细信息,请参阅Providing Alternative Resources

答案 1 :(得分:2)

创建一个layout-xlarge-mdpi-land文件夹,并将main.xml放在

答案 2 :(得分:1)

我认为这可以这样做:

  1. 在onCreate中以编程方式检测屏幕尺寸。 http://www.mail-archive.com/android-developers@googlegroups.com/msg144381.html

  2. 根据屏幕尺寸设置方向,如下所示:

    if(屏幕尺寸大) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 其他 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

  3. 不确定这是否是最佳方式。

答案 3 :(得分:1)

在AndroidManifest中,您希望在横向模式下运行的任何活动中插入以下代码(在本例中为主要活动)

android:screenOrientation="landscape"