Android:根据所选设备选择不同的布局

时间:2016-04-29 18:59:45

标签: android xml android-layout android-studio android-activity

有没有办法根据设备的类型为Android活动选择不同的布局?

我试着更清楚。 我有两个布局: home_layout_phone.xml home_layout_tablet.xml 。它们是相同的,但对象具有不同的比例,在HomeActivity.java中我想做这样的事情:

setContentView(R.layout.home_layout_phone.xml); //if the device is a phone
setContentView(R.layout.home_layout_tablet.xml); //if the device is a tablet

我该怎么做?我使用的是AndroidStudio 1.5.1。谢谢你的回答,抱歉我的英语不好,我是意大利人。

2 个答案:

答案 0 :(得分:1)

使用一个布局文件名。例如,home_layout.xml。这将是您的手机布局。现在,要为平板电脑创建不同的布局,请在Android Studio中右键单击布局文件夹,然后选择新建> 布局资源文件。将此文件命名为相同名称(home_layout),并在可用的限定符下,选择确定平板电脑的方式。例如,您可以选择宽度超过600 dp的时间。如下所示:

enter image description here

当你setContentView时,只需:

setContentView(R.layout.home_layout);

在这种情况下,将根据设备的宽度选择合适的布局。

答案 1 :(得分:0)

通过使用配置限定符,您可以为多个设备配置设置多个布局。

  

Android支持多种允许使用的配置限定符   控制系统如何根据选择您的替代资源   当前设备屏幕的特征。配置   qualifier是一个字符串,您可以将其附加到资源目录中   您的Android项目并指定其配置   里面的资源都是设计好的。

你可能有类似的东西:

  • 列出项目布局/ home_layout.xml(适用于手机)

  • 列出项目layout-xlarge / home_layout.xml(适用于更大的设备)

http://developer.android.com/intl/es/guide/practices/screens_support.html#qualifiers