Android 系统如何找到最佳匹配资源?
我有一个Android 系统如何找到最佳匹配资源?,android,Android,我有一个hdpi设备。 DPI:hdpi,密度:1.5,密度DPI:240,sw:320 值和值xxhdpi文件夹。 为什么Android从values xxhdpi中获取dimes,而不是从values中获取 我想它应该从一个较小的文件夹中取出。 默认值是mdpi,hdpi也是closser到mdpi,然后是xxhdpi 您能告诉我哪里出了问题吗?密度的处理方式不同于其他资源集约束 Android密度资源集约束设计用于drawable和mipmap。对于这些资源,Android可以通过对图像进
hdpi
设备。DPI:hdpi,密度:1.5,密度DPI:240,sw:320
值
和值xxhdpi
文件夹。
为什么Android从values xxhdpi
中获取dimes
,而不是从values
中获取
我想它应该从一个较小的文件夹中取出。
默认值是mdpi,hdpi也是closser到mdpi,然后是xxhdpi
您能告诉我哪里出了问题吗?密度的处理方式不同于其他资源集约束 Android密度资源集约束设计用于
drawable
和mipmap
。对于这些资源,Android可以通过对图像进行上采样或下采样,自动将资源从一种密度转换为另一种密度。对于其他资源集约束,情况并非如此。例如,Android无法自动将英文字符串资源转换为中文
在寻找兼容资源时,如果使用密度作为类型的约束(例如,值
),Android的行为就好像可以将资源从一种密度转换为另一种密度一样。。。即使对于资源类型,这是不可能的。因此,安卓正在选择最接近的密度,使用它用于选择要转换的图像的任何算法,即使您在图像以外的其他对象上使用密度限定符
使用密度作为除
drawable
或mipmap
之外的任何东西的限定符是一种代码气味。你不可能得到你想要的。你好,马克,谢谢你的回答。所以我应该使用大的值
或值-sw600dp
而不是值xxhdpi
,对吗?@Yvgen:是的。根据大小更改值是安全的;基于密度更改值不太安全。