如何为纵向和横向定义不同的布局?

我已经看到能够为一个活动指定两个单独的布局xml文件的引用,一个用于纵向,一个用于横向。 我没有find任何有关如何做到这一点的信息。 如何为每个活动指定哪个xml文件是纵向布局,哪个是横向布局?

是否也可以为不同的屏幕尺寸指定不同的布局? 如果是的话,这是怎么做的?

创build一个layout-land目录,并将布局XML文件的横向版本放在该目录中。

你只需要根据方向和分辨率将它放在不同名称的文件夹下,设备将自动select正确的屏幕设置

更多信息:

http://developer.android.com/guide/practices/screens_support.html

在“屏幕大小和密度的资源目录限定符”下

只是提醒:

如果您定义了清单xml文件中的活动,请从android:configChanges属性中删除orientation

 android:configChanges="orientation|screenLayout|screenSize" 

对于鼠标爱好者! 我说右键单击资源文件夹并添加新的资源文件,并从可用限定符中select方向:

在这里输入图像描述


但是,你仍然可以通过手动添加子文件夹“layout-land”来完成

“你的项目方向\程序\ SRC \主\ RES”

此后,此子文件夹下的任何layout.xml文件将仅自动适用于横向模式。

纵向模式使用“布局端口”。

创build一个新的目录layout-land ,然后在layout-land创build与layout目录相同名称的xml文件,并将其内容alignment到Landscape模式。

请注意,这两个xml的内容的id是相同的。

或者使用这个:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:scrollbars="vertical" android:layout_height="wrap_content" android:layout_width="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- Add your UI elements inside the inner most linear layout --> </LinearLayout> </ScrollView>