activity_main.xml和activity_main.xml(land)之间的区别?如何在运行时更改它们?

问题描述:

我有两个文件activity_main.xmlactivity_main.xml(陆地)。activity_main.xml和activity_main.xml(land)之间的区别?如何在运行时更改它们?

如果我的手机是肖像模式,我想两次运行activity_main.xml

如果我的手机在风景模式下,我想运行activity_main.xml(陆地)。

我该怎么办?

+0

参考http://*.com/questions/5407752/Android的布局文件夹布局布局端口布局土地 – nnn

删除文件activity_main.xml(land)并将activity_main.xml引用到同一个java文件!

Android SDK提供了不同的方式来管理android应用程序的资源。 设备支持两种取向模式:

肖像

如果你想添加的肖像模式任何特定的布局而已,你应该命名布局文件为“XYZ-port.xml”。

景观

如果你想添加的肖像模式任何特定的布局而已,你应该命名布局文件为“XYZ-land.xml”。

Android系统将决定运行时间选择哪个布局。

对于以下查询,

我有两个文件activity_main.xml中和activity_main.xml中(土地)

如果不指定任何类似,activity_main.xml话,它将被用来对彼此而言。

欲了解更多信息,请检查here。 谢谢。

请检查以下链接,我希望你能得到解决方案。

google developer

link 2

不同的是activity_main.xml(land)是横向模式。如果一切都在那里,请确保您的屏幕旋转已打开!

或者,如果你需要知道如何做别的,创建一个新的目录layout-land,然后在layout-land创建xml文件具有相同的名称,因为它是layout目录和调整你有景观模式的内容。

请注意,xml中的内容ID均相同。

或者你也可以做到,通过这种方式,

enter image description here

enter image description here

现在任务完成!

enter image description here

但你有一个单一的活动了两种意见取决于方向。视图A在视图B中可能没有东西(如果你在xml中有相同的视图集合,那么你不需要这个)。如果你没有相同的设置,你需要以正确的方式初始化你的视图!

当你初始化你的意见,你可以这样做:

对于Lanscape

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){ 
    //init views in landscape 
} 

肖像

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){ 
//init views in portrait 
}