我有两个文件activity_main.xml
和activity_main.xml
(土地)。
如果我的手机处于纵向模式,我想要两次运行activity_main.xml
。
如果我的手机处于风景模式,我想运行activity_main.xml
(陆地)。
我该怎么办?
答案 0 :(得分:2)
差异是activity_main.xml(land)
适用于横向模式。如果一切都在那里,请确保您的屏幕旋转已开启!
否则,如果您需要知道如何执行此操作,请创建一个新目录layout-land
,然后在xml
中创建layout-land
layout
文件xml
目录并将您的内容与横向模式对齐。
请注意,if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
//init views in landscape
}
中的内容ID都相同。
或者你可以这样做,
现在工作完成了!
但是您有一个Activity,两个视图取决于方向。视图A可能没有东西在视图B中(如果在两个xmls中都有相同的视图集,那么您不需要这样)。如果您没有相同的设置,则需要以正确的方式初始化视图!
初始化视图时,您可以通过以下方式执行此操作:
适用于Lanscape
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
//init views in portrait
}
For Portrait
apiUrl
答案 1 :(得分:0)
删除文件activity_main.xml(land)并将activity_main.xml引用到同一个java文件中!
答案 2 :(得分:0)
Android SDK提供了不同的方法来管理Android应用程序的资源。 设备支持两种定位模式:
<强>肖像强>
如果只想为纵向模式添加任何特定布局,则应将布局文件命名为“xyz-port.xml”。
<强>风景强>
如果您只想为纵向模式添加任何特定布局,您应该将布局文件命名为'xyz-land.xml'。
Android系统将决定运行时选择哪种布局。
如下面的查询,
我有两个文件activity_main.xml和activity_main.xml(land)
如果你没有指定任何类似的,activity_main.xml
那么,它将用于两者。
有关详情,请查看here。 感谢。