Android 安卓资源“;“最佳匹配”;回退逻辑

Android 安卓资源“;“最佳匹配”;回退逻辑,android,drawable,directory-structure,android-resources,Android,Drawable,Directory Structure,Android Resources,我已经阅读了有关的文档,并且我认为我已经理解了android用来识别某个特定资源应该首先在哪个目录中搜索的最佳匹配逻辑。。假设drawable hdpi、drawable en port和drawable en*与当前设备配置匹配,drawable en port是最佳匹配目录。。我的问题是,如果在drawable en port中找不到drawable,系统是直接在drawable中查找,还是在第二个最佳匹配drawable en中查找,然后在第三个最佳匹配drawable hdpi中查找,依

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

是的,它首先在
可绘制的en
中查找,然后在
可绘制的hdpi
中查找,因为语言限定符具有更高的优先级。如果仍然找不到值,则搜索目录。它符合:


如果
drawable en
包含匹配的资源,那么
drawable hdpi
drawable
将根据算法的步骤4被消除。

我阅读了介绍部分

assume the following drawable directories each contain different versions of the same images
在您的示例中,Android会忽略drawable en port文件夹,因为它没有该drawable名称。它将只查找具有该可绘制的文件夹,因此选择最佳匹配的文件夹。只有在没有配置和图像匹配的文件夹时,才会选择“drawable”