3

我目前有 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)
4

2 回答 2

3

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

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

于 2012-07-24T13:49:31.920 回答
0

为了更进一步,我在我的 Nexus 7 和 600x1024mdpi 模拟器上进行了测试,发现两者会相差很大。

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

布局-sw600dp-土地-tvdpi

布局-sw600dp-端口-tvdpi

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

所以布局文件夹:

布局-sw600dp-土地

布局-sw600dp-端口

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

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

于 2013-04-10T16:48:28.973 回答