我已经阅读了有关Android 资源的文档,并且我想我已经理解了 android 用来识别应该首先在哪个目录中搜索特定资源的最佳匹配逻辑。假设drawable-hdpi、drawable-en-port和drawable-en* 匹配当前设备配置,drawable-en-port是最佳匹配目录。我的问题是,如果在drawable-en-port中没有找到 drawable ,系统是直接在drawable中查找还是看起来在第二个最佳匹配drawable-en中,然后在第三个最佳匹配drawable-hdpi中,依此类推,直到达到drawable? 我想它是这样工作的,但我没有发现它在文档中明确说明(除非我读得太快,你肯定会杀了我:))。
问问题
2434 次
2 回答
1
是的,它首先出现在drawable-en
, 然后drawable-hdpi
因为语言限定符具有更高的优先级。如果仍未找到值,drawable
则搜索目录。它符合:
Android 如何找到最佳匹配资源
如果drawable-en
包含匹配资源drawable-hdpi
,drawable
则将根据算法的步骤 4 将其消除。
于 2012-05-21T12:49:07.117 回答
1
我读了介绍部分
assume the following drawable directories each contain different versions of the same images
在您的示例中,Android 将忽略 drawable-en-port 文件夹,因为其中没有该可绘制名称。它只会查看具有该可绘制对象的文件夹,因此会选择最匹配的文件夹。如果没有具有匹配配置和图像的文件夹,它只会选择“可绘制”。
于 2012-05-21T12:49:51.173 回答