我正在为 google nexus 7 和 10 开发一个应用程序。但是有一个问题。我不知道 7 和 10 应该使用哪个布局文件夹。
6 回答
对于关系 7
layout-large-hdpi
对于 Nexus 10
layout-xlarge-xhdpi
注意:只有在您没有提供更高优先级限定符的情况下,该应用才会从这些文件夹中获取图像。例如,如果您提供了一个布局文件夹,例如layout-sw360dp
应用程序将只从该文件夹中获取图像,即使您已经提供了像我上面所说的那样的单独布局。因为在android中有一个优先顺序,你必须给出布局。
检查此官方文档以了解限定符的优先顺序。
编辑: 为平板电脑提供布局在 Android 中是一件非常令人困惑的事情。我在为平板电脑提供布局方面度过了一段糟糕的时光。然而,经过这么多尝试,我终于成功了。话虽如此,您必须记住的一件事是,即使您没有提供正确的文件夹,Android 也会根据设备采用下一个合适的布局文件夹。
现在关于您的评论,对于三星 7,我认为理想的布局是
layout-large-mdpi.
而对于三星 7.7,它可能是
layout-large-hdpi (which I haven't tried yet)
对于三星 10.1,它将是
layout-xlarge-mdpi
关于您的 Nexus 10,您必须制作单独的图像以适合其大小。
根据http://android-developers.blogspot.com/2012/07/getting-your-app-ready-for-jelly-bean.html
Nexus 7 (2012) 应该是 tvdpi
那么,在我看来
对于 Nexus 7 (2012)
layout-sw600dp-land , layout-sw600dp-port中的布局文件
drawable-sw600dp-tvdpi中的图片资源
对于 Nexus 10
layout-sw720dp-land , layout-sw720dp-port中的布局文件
drawable-sw720dp-xhdpi (1600x2560)中的图片资源
从 android 3.2 开始,您应该使用layout-sw600dp
7" 平板电脑和layout-720dp
10" 平板电脑。如果你想保持向后兼容旧版本的 android (pre 3.2, 你也应该使用旧的layout-xlarge*
符号
为了添加到@blackbelt,我在我的 Nexus 7 和 600x1024mdpi 模拟器上进行了测试,发现两者会相差很大。
解决此问题的快速方法是创建布局文件夹:
布局-sw600dp-土地-tvdpi
布局-sw600dp-端口-tvdpi
由于 tvdpi 密度很少,这已经过测试和验证,特别适用于 Nexus 7。
所以布局文件夹:
布局-sw600dp-土地
布局-sw600dp-端口
然后将用于具有 mdpi 密度的设备。有更多的设备属于第二类,所以你真的不应该依赖使用没有 tvdpi 的命名约定来支持 Nexus 7。
这显然可以适用于 Galaxy Note 和其他 hdpi 等设备。
您现在可以使用 Google 设计的“设备指标”网站。它列出了很多设备。
对于nexus 10,您可以将布局放在layout-sw720dp-land-xhdpi
文件夹中。