对于我需要在我的应用程序中使用的每个图标,我有 4 种不同的尺寸。问题是 My Nexus 7 (1280 x 800) 和 Galaxy s2 (800 x 480) 似乎使用了 drawable-hdpi 中的资源。如何强制 Nexus 使用 drawable-xhdpi 中的资源,然后使用 10 英寸选项卡使用 drawable-xxhdpi。
我的 list 文件中有这个
<supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
最佳答案
How do I force the Nexus to use resources in drawable-xhdpi and then the 10 inch tab to use drawable-xxhdpi?
你不能。
限定符 hdpi,xhdpi,xxhdpi
描述的是设备的屏幕密度,而不是屏幕的大小。
来自 official doc
Screen density
The quantity of pixels within a physical area of the screen; usually referred to as dpi (dots per inch). For example, a "low" density screen has fewer pixels within a given physical area, compared to a "normal" or "high" density screen. For simplicity, Android groups all actual screen densities into four generalized densities: low, medium, high, and extra high.
如果您还想支持平板电脑,请使用 large、xlarge
限定符。 Nexus 7 是一个 large-hdpi
平板电脑(技术上它是 tvdpi
,但从 hdpi
获取图像)。因此,如果您想为 Nexus 7 放置图像,请创建一个名为 drawable-large-hdpi
的文件夹并将图像放在那里。
注意:这是 Nexus 7 的特例。因为即使 Nexus 7 是 7 英寸平板电脑,它的分辨率也只有 1280 * 800。所以它是一个 hdpi
设备。但普通 7 英寸设备的分辨率较低,为 1024 * 600。所以它们是 mdpi
设备。所以drawable限定符可以改变。 (根据我自己的经验,先放一个文件夹drawable-large-mdpi
for 7 inch devices and check it on Nexus 7.如果图片没有问题,你不必再放一个文件夹。因为如果特定文件夹不存在,Android 将检查最近的可能文件夹并针对设备屏幕对其进行优化)
现在关于 10 英寸平板电脑外壳,它们是 xlarge
设备,它们的密度可以从 mdpi
更改为 xhdpi
(Nexus 10)。但许多分辨率为 1280 * 800 并且是 mdpi
设备。
更好的做法是放下面的drawables
// for Phones
drawable-ldpi
drawable-mdpi
drawable-hdpi
//for 7 inch tablets
drawable-large-mdpi
drawable-large-hdpi(for Nexus 7)
// for 10 inch tablets
drawable-xlarge-mdpi
关于android - 设置可绘制文件夹以用于不同的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16079588/