我想要动画化我的AnimatedVectorDrawable
在运行时不使用.xml
文件。其实我正在使用.xml
文件的方式与文档示例显示的方式相同:
动画矢量Drawable https://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html
所以我有vector_drawable.xml
包含<vector>
与嵌套<group>
and <path>
它定义了一个形状。
对于这个向量我有animated_vector_drawable.xml
包含<animated-vector>
with android:animation
分配给<target>
.
最后一步是定义动画文件rotation.xml
using <objectAnimator>
这是由animated_vector_drawable.xml
一切工作正常,但是当我需要使用许多不同或相似的动画创建许多不同的形状(矢量)时,问题就出现了,因为这会生成许多.xml
files.
我不能包括准备好的和准备好的<vector>
从一.xml
文件到另一个(某种<include>
标签)所以我需要将相同的代码复制到另一个文件。这很烦人。
如果我想对几个人使用相同的动画<target>
元素,但每个动画必须有 f.e.不同的延迟或任何属性值(alpha
, rotation
, interpolator
...) ,我必须创建新的.xml
文件包含<objectAnimator>
更改一个属性值,而不是使用相同的、一个属性值已更改的文件。这也很烦人。
我发现我可以使用ObjectAnimator
并设置alpha
& fillColor
for AnimatedVectorDrawable
但当我想改变它时出现了问题translateX
, translateY
, rotation
或任何其他属性。有没有办法做到这一点而不需要.xml
。我只想访问<group>
您使用的构造函数创建具有绝对值(像素)的动画。
TranslateAnimation in = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 1.0f,
Animation.RELATIVE_TO_SELF, 0.0f, 0, 0.0f, 0, 0.0f);
尝试使用 Animation.RELATIVE_TO_PARENT 来满足您的需求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)