“值”目录下的“ drawables.xml”文件的用途是什么?

鲁基耶夫

对于一个Android Studio项目,我在“值”文件夹中找到了一个名为“ drawables.xml”的文件

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <item name="ic_menu_camera" type="drawable">@android:drawable/ic_menu_camera</item>
    <item name="ic_menu_gallery" type="drawable">@android:drawable/ic_menu_gallery</item>
    <item name="ic_menu_slideshow" type="drawable">@android:drawable/ic_menu_slideshow</item>
    <item name="ic_menu_manage" type="drawable">@android:drawable/ic_menu_manage</item>
    <item name="ic_menu_share" type="drawable">@android:drawable/ic_menu_share</item>
    <item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item>
</resources>

该文件的目的是什么?为什么要创建对现有可绘制对象的另一个引用,为什么不只使用“ @android:drawable / ic_menu_camera”?

常用软件

开发人员可能会想到一些面向未来的方法。

开发人员可以参考Java代码android.R.drawable.ic_menu_camera,也可以参考布局或其他内容@android:drawable/ic_menu_camera但是,如果以后需要开发人员从使用可绘制的平台切换到自定义平台,则所有这些引用都需要更改。

在此文件中设置的可绘制别名允许Java代码引用R.drawable.ic_menu_camera和布局以及其他内容引用@drawable/ic_menu_camera现在,别名表示这些可绘制对象“重定向”到平台可绘制对象。但是,在将来的某个时候,开发人员可以添加一个自定义的ic_menu_camera可绘制对象,删除别名...并且Java代码,布局等都不需要更改。

很少有应用程序引用平台可绘制对象,因此您通常不会看到这种技巧。但是,对于应用确实引用平台资源的情况,这种别名方法可以减少长期维护。

FWIW,我将在此博客文章中对此进行更多介绍

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章