Android布局文件夹配置

时间:2012-07-24 13:42:32

标签: java android

我目前有2个布局文件夹: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 个答案:

答案 0 :(得分:3)

sw600dp最小宽度600 dp单位而非像素,因此您的代码行为正确。屏幕为600 x 961 dp单位。

有关详细说明,请参阅此帖子 - https://plus.google.com/105051985738280261832/posts/6eWwQvFGLV8

答案 1 :(得分:0)

为了更进一步,我正在我的Nexus 7和600x1024mdpi仿真器上进行测试,发现两者将会大大关闭。

解决此问题的快速方法是创建布局文件夹:

<强>布局sw600dp-土地tvdpi

<强>布局sw600dp端口-tvdpi

这已经过测试和验证,适用于Nexus 7,因为tvdpi密度很少。

所以布局文件夹:

<强>布局sw600dp陆

<强>布局sw600dp端口

然后

将用于具有mdpi密度的设备。有更多的设备属于第二类,所以你真的不应该依赖使用没有tvdpi的命名约定来支持Nexus 7.

这显然可以应用于Galaxy Note和其他hdpi等设备。