2

我已经阅读了有关Android 资源的文档,并且我想我已经理解了 android 用来识别应该首先在哪个目录中搜索特定资源的最佳匹配逻辑。假设drawable-hdpidrawable-en-port和drawable-en* 匹配当前设备配置,drawable-en-port是最佳匹配目录。我的问题是,如果在drawable-en-port中没有找到 drawable ,系统是直接在drawable中查找还是看起来在第二个最佳匹配drawable-en中,然后在第三个最佳匹配drawable-hdpi中,依此类推,直到达到drawable? 我想它是这样工作的,但我没有发现它在文档中明确说明(除非我读得太快,你肯定会杀了我:))。

4

2 回答 2

1

是的,它首先出现在drawable-en, 然后drawable-hdpi因为语言限定符具有更高的优先级。如果仍未找到值,drawable则搜索目录。它符合: Android 如何找到最佳匹配资源

如果drawable-en包含匹配资源drawable-hdpidrawable则将根据算法的步骤 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 回答