我意识到我的可绘制XML文件(向量和动画向量)有很多常见的标签,我想知道是否可以使用一些<include/>
类似标签来优化资源的大小。
我知道Android允许使用语法
来使用带有布局的标签<include layout="@layout/resource_name"/>
但我不确定是否有类似的可绘制文件选项。或者是否有其他方法如何在向量drawable中重用XML文件的相同部分?
答案 0 :(得分:0)
您没有使用 <aapt:attr>
是吗?因为这是一个生成单独文件的预处理工具,您可以轻松地自己制作单独的文件,从而获得您所寻求的可重用性。
代替:
allInOne.xml
<animated-vector ... >
<aapt:attr name="android:drawable">
<vector ...>
...
</vector>
</aapt:attr>
<target ... >
<aapt:attr name="android:animation">
<objectAnimator ... />
</aapt:attr>
</target>
</animated-vector>
你可以:
animated.xml
<animated-vector ... android:drawable="@drawable/vector">
<target ... android:animation="@animator/animator" />
</animated-vector>
vector.xml
<vector ...>
...
</vector>
animator.xml
<objectAnimator ... />
除此之外,我想您可以拆开您的矢量可绘制对象,然后使用 <layer-list>
或其他方式重新组合它们。你不能做的是使用 <include>
。