有没有办法根据设备的类型为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。谢谢你的回答,抱歉我的英语不好,我是意大利人。
答案 0 :(得分:1)
使用一个布局文件名。例如,home_layout.xml
。这将是您的手机布局。现在,要为平板电脑创建不同的布局,请在Android Studio中右键单击布局文件夹,然后选择新建> 布局资源文件。将此文件命名为相同名称(home_layout
),并在可用的限定符下,选择确定平板电脑的方式。例如,您可以选择宽度超过600 dp的时间。如下所示:
当你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