我不确定是否已经很好地理解了几个Android /res/layout
文件夹所扮演的角色。Android布局文件夹:布局,布局端口,布局区域
layout
:一般布局
layout-port
:布局控件必须为纵向
layout-land
改变:布局控件必须在Home示例应用程序的横向
改变。例如,在layout-port
和layout-land
文件夹下只有一个home.xml
文件。
我理解对不对?
我不确定是否已经很好地理解了几个Android /res/layout
文件夹所扮演的角色。Android布局文件夹:布局,布局端口,布局区域
layout
:一般布局
layout-port
:布局控件必须为纵向
layout-land
改变:布局控件必须在Home示例应用程序的横向
改变。例如,在layout-port
和layout-land
文件夹下只有一个home.xml
文件。
我理解对不对?
如果您处于横向或纵向状态,则首先在-port或-land目录中查找布局文件,如果找不到则返回到默认布局目录。
你可以阅读关于提供替代资源here。除陆地和港口外,还有更多的选择。
如果您将home.xml
放入layout-port
文件夹中,当您的设备处于纵向时,它将使用文件:layout-port/home.xml
。
如果您将home.xml
置于layout-land
文件夹中,则当您的设备处于横向模式时,它将使用文件:layout-land/home.xml
。
对于不同的方向模式(如纵向和横向)的含义...我们使用两个home.xml
文件;一个在layout-port
,另一个在layout-land
。另一方面,如果您想为两者使用相同的布局文件,则可以将home.xml
放在layout
文件夹中,并将其从layout-land
和layout-port
中删除。
我已经为layout和layout-land制作了分开的布局xml文件。但是当我将方向更改为横向时,它的布局文件不会被android显示。问题是什么? – YuDroid 2012-07-09 05:58:37
如果您在-port和-land中有两个布局文件,并且在更改设备方向时它们不会切换,那么您可能在AndroidManifest.xml中指定了android:configChanges =“orientation”。在这种情况下,再次指定onConfigurationChanged()中的setContentView()或删除该AndroidManifest.xml指令。 – 2012-07-17 08:37:07
在res layout-land
或layout-port
layout-port:
布局小部件必须为纵向改变
layout-land:
布局小部件必须为横向改变
一些开发商可能没有意识到创建文件夹掌握这个概念有多重要,所以谢谢把它放在SO上。 – whyoz 2013-04-08 19:08:25
我的理论HTML5将在未来取代这个东西。 – neferpitou 2015-03-01 01:32:07