我想在运行时动画显示我的AnimatedVectorDrawable
,而不使用.xml
文件。实际上,我正在使用与文档示例相同的.xml
文件:
因此,我有一个包含嵌套的<group>
和<path>
的<vector>
的vector_drawable.xml
来定义形状。
对于这个矢量图,我有一个包含android:animation
分配给<target>
的<animated-vector>
的animated_vector_drawable.xml
。
最后一步是定义一个动画文件rotation.xml
,其中使用<objectAnimator>
,该文件由animated_vector_drawable.xml
使用
一切都很顺利,但当我需要创建许多不同的形状(向量)并进行许多不同或类似的动画时,问题就出现了,因为这会生成许多.xml
文件。
我不能将一个准备好的
<vector>
从一个.xml
文件包含到另一个.xml
文件中(某种形式的<include>
标记),因此我需要将相同的代码复制到其他文件中。这非常烦人。如果我想为一些
<target>
元素使用相同的动画,但每个动画必须具有不同的延迟或任何属性值(例如alpha
,rotation
,interpolator
...),我必须创建新的.xml
文件,并更改一个属性值,而不是使用具有更改属性值的相同文件。这也很烦人。
我发现我可以使用 ObjectAnimator
并设置 alpha
和 fillColor
来对 AnimatedVectorDrawable
进行动画,但是当我想要更改它的 translateX
、translateY
、rotation
或其他任何属性时,会出现问题。有没有办法在不使用 .xml
的情况下做到这一点?我只想访问 <group>
。