the*_*ang 14 android android-resources
如果我定义为一个可绘制density qualified folder(例如,绘制,华电国际),也可绘依傍的drawable-nodpi,将一个high density device使用-hdpi过-nodpi?
如果我更进一步,并为-land文件夹设置相同的设置呢?
Tan*_*.7x 52
我不确定优先级是什么nodpi,但这永远不应成为问题.听起来你误解了nodpi限定词.您不应将其nodpi用作设备密度桶中未提供的资产的后备.正确的回退是没有密度限定符的文件夹(例如drawable/).
如果系统无法找到设备密度的资产(例如,它是ldpi设备,而您没有drawable-ldpi文件夹),它将回退到没有密度限定符的文件夹,*不是nodpi限定符.
在nodpi当你想指定将用于资源限定符用于所有的密度和你不希望Android扩展.其他密度文件夹(例如drawable-xhdpi)中的资产将缩放到实际屏幕尺寸.如果使用nodpi限定符,则不应在任何其他资源文件夹中提供该资产.
同样重要的是要注意,对于屏幕密度限定符,Android还倾向于使用较低密度的资产而不是不合格的资源.如果您有xhdpi设备,但只有一个drawable和一个drawable-mdpi文件夹,Android将在非限定文件夹之前检查mdpi文件夹中的资产.
drawable-nodpi将绕过缩放, drawable将使用默认缩放:
如果您的代码将进行自己的缩放(或不进行缩放)并且您不希望Android预先缩放图像,则drawable-nodpi会很有效.
还有drawable-anydpi,只是为了让事情更加混乱.
如果不存在密度和屏幕规格的精确匹配,则将使用没有规格的可绘制.drawable-nodpi将在drawable之后使用.
更新如果您同时具有drawable和drawble-nodpi,则选择顺序是更复杂的规则,未记录或Android已损坏.通过实验,我确认屏幕密度<xhdpi的设备将正确选择可绘制图像.屏幕密度> = xhdpi的设备将选择drawable-nodpi.
选择规则:1.选择匹配屏幕密度,其中之一:
这取决于.
首先nodpi不是后备文件夹.如果您有hdpi设备,系统将hdpi首先查找文件夹.nodpi文件夹包含不打算缩放的资源.
drawable/ 可以用作后备文件夹,以防设备密度特定资源不存在.
那么,如果我们看一下可能的限定词值的屏幕像素密度(DPI) ,这些被列为:
注意:您应该将所有这些资源放在drawable-nodpi您不希望缩放的文件夹中.为了支持多个屏幕,Android更倾向于缩小较大的原始图像,而不是放大较小的原始图像.这些资源应不存在于任何其他绘制限定符文件夹否则这些可能被缩放哪一种失败的全部目的.
还必须指出:
使用密度限定符并不意味着资源仅适用于该密度的屏幕.如果您不提供具有更好地匹配当前设备配置的限定符的备用资源,则系统可以使用最匹配的资源.
以下是系统用于查找最佳匹配的资源选择流程图:

| 归档时间: |
|
| 查看次数: |
15580 次 |
| 最近记录: |