如何为纵向和横向定义不同的布局?
我已经看到能够为一个活动指定两个单独的布局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>