内嵌复杂的 XML 资源
萌新一个,第一份工作,入职android系统开发,总结一下这一个月在学习途中所做的笔记,发个博客,忘了这些是从哪里总结了,如有跟贵博重复的,麻烦评论一下,我添一下您的链接,抱歉。另外,建议同样学习android开发的新人,主要看一下android.developer这个官方网站开发指南,很有用。排版就不搞了,我是从我自己做的word直接复制出来的,如果看到这个博客的请多多担待,写这个博客目的就是给我自己留个总结回忆,忘了的话回头看看
某些资源类型是由 XML 文件表示的多个复杂资源合成的。例如动画矢量可绘制对象就是封装矢量可绘制对象和动画的可绘制资源。这需要使用至少 3 个 XML 文件。
res/drawable/avd.xml
<?xml version="1.0" encoding="utf-8"?>
res/drawable/vectordrawable.xml
<?xml version="1.0" encoding="utf-8"?>
res/anim/rotation.xml
<?xml version="1.0" encoding="utf-8"?>
这里使用了很多文件,目的只是为了合成一个动画矢量可绘制对象!如果该矢量可绘制对象和动画会在别处重复使用,这是实现动画矢量可绘制对象的最佳方式。如果这些文件只是用于合成该动画矢量可绘制对象,那么有一种更为紧凑的方式来实现它们。
使用 AAPT 的内嵌资源格式,您可以在同一 XML 文件中定义所有三种资源。由于我们正在合成一个动画矢量可绘制对象,因此我们将该文件放在 res/drawable/ 下。
res/drawable/avd.xml
<?xml version="1.0" encoding="utf-8"?>
<aapt:attr name=“android:drawable” >
</aapt:attr>
<aapt:attr name=“android:animation” >
</aapt:attr>
XML 标记 <aapt:attr > 告诉 AAPT,该标记的子标记应被视为资源并提取到其自己的资源文件中。属性名称中的值用于指定在父标记内使用内嵌资源的位置。
AAPT 会为所有内嵌资源生成资源文件和名称。使用此内嵌格式构建的应用可与所有版本的 Android 兼容。