安卓布局文件夹配置

3

我目前有两个布局文件夹:layout-sw480dp和layout-sw720dp,两个文件夹都包含main.xml

我看到开发指南中如下说明:

 - 320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800
   hdpi, etc).
 - 480dp: a tweener tablet like the Streak (480x800 mdpi).
 - 600dp: a 7 tablet (600x1024 mdpi).
 - 720dp: a 10 tablet (720x1280 mdpi, 800x1280 mdpi, etc).

我正在使用我的Nexus 7进行开发(模拟器有点糟糕/慢),当我将我的应用上传到平板电脑时,我可以告诉它使用了layout-sw480dp,但为什么?好吧,它不是一款10英寸的平板电脑,但Nexus 7确实具有800x1280分辨率,这似乎与此无关?我只是有点困惑应该使用哪个swdp。

根据GSMArena:http://www.gsmarena.com/asus_google_nexus_7-4850.php

 - 800 x 1280 pixels, 7.0 inches (~216 ppi pixel density)
2个回答

3

啊,谢谢。我一直在尝试计算这个数学公式,但其实很简单,只需要使用 dp = px/(dpi/160) 即可。 - Michael
@Anirudh,一年过去了,你还有什么要补充的吗? - whyoz

0
为了更进一步,我在我的Nexus 7上进行了测试,并在600x1024mdpi模拟器上发现两者会有相当大的偏差。
快速解决这个问题的方法是创建以下布局文件夹: layout-sw600dp-land-tvdpi layout-sw600dp-port-tvdpi
经过测试和验证,这对于Nexus 7来说是有效的,因为tvdpi密度很少见。
因此,以下布局文件夹: layout-sw600dp-land layout-sw600dp-port
将用于具有mdpi密度的设备。第二类设备的数量要多得多,因此您真的不应该依赖使用没有tvdpi的命名约定来支持Nexus 7。
这显然也适用于Galaxy Note和其他高dpi设备。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接