【发布时间】:2015-07-25 20:37:20
【问题描述】:
我想在运行时为我的AnimatedVectorDrawable 设置动画,而不使用.xml 文件。实际上,我使用 .xml 文件的方式与文档示例显示的方式相同:
所以,我有 vector_drawable.xml contains<vector> 嵌套 <group> 和 <path> 定义了一个形状。
对于这个向量,我有 animated_vector_drawable.xml 包含 <animated-vector> 和 android:animation 分配给 <target>。
最后一步是使用<objectAnimator> 定义一个动画文件rotation.xml,该文件由animated_vector_drawable.xml 使用
一切正常,但问题出现了,当我需要使用许多不同或相似的动画创建许多不同的形状(矢量)时,因为这会生成许多 .xml 文件。
我不能将准备好的
<vector>从一个.xml文件包含到另一个文件(某种<include>标签),所以我需要将相同的代码复制到另一个文件。很烦人。如果我想对几个
<target>元素使用相同的动画,但每个动画都必须有 f.e.不同的延迟或任何属性值(alpha、rotation、interpolator...),我必须创建新的.xml文件,其中包含<objectAnimator>更改了一个属性值而不是使用相同的一个文件适当的价值。这也很烦人。我发现我可以使用
ObjectAnimator并将alpha和fillColor设置为AnimatedVectorDrawable,但是当我想将其更改为translateX,translateY,rotation时出现问题或任何其他属性。没有.xml,有没有办法做到这一点。我只想访问<group>
【问题讨论】:
-
你如何做到这一点“我发现我可以使用 ObjectAnimator 并以编程方式为 AnimatedVectorDrawable 设置 alpha 和 fillColor”
-
是的。我也很想知道如何在这里以编程方式访问 ObjectAnimator。
-
我也很想知道是否有解决方案
-
嗨@Wisnia 你可以找到一些用例和代码sn-p github.com/pathikdevani/Vaividhya-2k15-Android-And-Server/blob/…
标签: android xml animation android-vectordrawable