我想为Samsung Galaxy Note(5.3英寸显示屏)和Acer Iconia Tab A100(7英寸显示屏)使用不同的布局。但是,它们都使用 res / layout-large
中声明的布局正如所描述的here,从Android 3.2开始,开发人员可以根据屏幕宽度声明布局,而不是使用现已弃用的大, xlarge 和其他资格赛。所以我会在 res / layout-sw600dp 中为Acer Iconia Tab A100声明一个不同的布局。
但是,如果平板电脑安装了Android 3.0,是否有办法为2台设备实现不同的布局?
答案 0 :(得分:1)
您可以尝试在代码中获取DeviceModel
并根据设备加载布局...
请参阅http://developer.android.com/reference/android/os/Build.html#MODEL
否则:当两个设备共享相同的布局时,问题是什么?
答案 1 :(得分:1)
在Android 3.2之前,您可以尝试使用屏幕密度和分辨率来获取物理大小,并根据运行时的计算选择不同的资源(按名称)。然而,考虑到不同尺寸的平板电脑的数量,准确性将难以保证。
我建议你试着想出一个在5英寸和7英寸平板电脑上运行正常的用户界面设计。