如何为多个屏幕分辨率定义可绘制文件夹名称(Nexus 10和Galaxy Tab 10之间的冲突)?

use*_*237 6 android android-layout android-screen android-screen-support android-drawable

以下文件夹结构适用于上述设备和解决方案:

  • drawable-hdpi - 适用于480x800
  • drawable-ldpi - 空
  • drawable-mdpi - 适用于320x480和240x320(mdpi设备)
  • drawable-sw600dp-tvdpi - 适用于Nexus 7 2012 tvdpi
  • drawable-sw600dp-xhdpi - 适用于Nexus 7 2013 xhdpi

问题在于Nexus 10和三星Galaxy Tab 10(Tab是Android 4.0和mdpi).为了处理这两个设备我添加了两个单独的可绘制文件夹

  • drawable-sw800dp-xhdpi - 适用于Nexus 10(将​​2560x1600分辨率图像放入此文件夹)
  • drawable-sw800dp-mdpi - 适用于三星Galaxy Tab 10(将​​1280x800分辨率图像放入此文件夹)

但是,Nexus 10和三星Galaxy Tab 10都使用了drawable-sw800dp-xhdpi中的图像.

我还尝试了什么?

  • drawable-sw720dp-xhdpi - 适用于Nexus 10
  • drawable-sw720dp-mdpi - 适用于三星Galaxy Tab 10

类似的结果,Nexus 10和三星Galaxy Tab 10都使用了drawable-sw720dp-xhdpi的图像.

我也尝试使用drawable-xlarge-mdpidrawable-xlarge-xhdpi(删除drawable-sw800dp-mdpi和drawable-sw800dp-xhdpi)来处理三星Galaxy Tab 10但Tab是Android 4.0并且xlarge不推荐使用结构.所以它是根据新的目录结构(即drawable-sw600dp-xhdpi).

其他相关的东西

在Eclipse图形布局编辑器中,选择10.1"WXGA(平板电脑),就像三星Galaxy Tab 10一样,显示正确的图像(来自drawable-sw800dp-mdpi).但是,当我在设备或模拟器中测试相同的东西时,它显示来自提拉 - sw800dp-xhdpi.

Manifrest:

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
Run Code Online (Sandbox Code Playgroud)

布局:

layout
Run Code Online (Sandbox Code Playgroud)

值:

values
values-sw320dp
values-sw600dp
values-sw800dp
Run Code Online (Sandbox Code Playgroud)
  • 需要单独的可绘制文件夹,因为某些图像无法转换为9个修补程序图像.
  • 请问我的问题不是关于nexus 7和nexus 10 之间是否存在三星Galaxy Tab 7'和三星Galaxy Tab 10 ' 之间的冲突.

这个问题

那么Nexus 10和三星Galaxy Tab 10的可绘制文件夹应该是什么?

Ogu*_*glu 8

您可以使用以下格式的drawable文件夹:

drawable-480x320
drawable-1280x800
drawable-2560x1600
...
Run Code Online (Sandbox Code Playgroud)

等等