Android-如何在XML中使用ObjectAnimator
我只想使用XML文件中定义的Android-如何在XML中使用ObjectAnimator,android,android-animation,Android,Android Animation,我只想使用XML文件中定义的objectAnimator。我想放两个objectAnimators,并想在我的代码中选择我想要使用的 这就是我在XML文件中设置propertyName的样子,我想稍后在代码中访问它: <?xml version"1.0" encodin="utf-8"?> <set xmlns:android="..." <objectAnimator android:propertyName="animX" an
objectAnimator
。我想放两个objectAnimators
,并想在我的代码中选择我想要使用的
这就是我在XML文件中设置propertyName
的样子,我想稍后在代码中访问它:
<?xml version"1.0" encodin="utf-8"?>
<set xmlns:android="..."
<objectAnimator
android:propertyName="animX"
android:duration="1000"
android:valueFrom="FFFFFF"
android:valueTo="FF0000" />
<objectAnimator
android:propertyName="animY"
android:duration="1000"
android:valueFrom="FF0000"
android:valueTo="FFFFFF" />
</set>
不幸的是,这不是它的工作方式,我真的很难找到一个解决方案来访问我想要的objectAnimators。您不能通过编程创建自己的objectAnimators吗
ObjectAnimator objectAnimator1 = new ObjectAnimator();
objectAnimator.setPropertyName("animX");
objectAnimator.setFloatValues(0, 1);
objectAnimator.setTarget(logoView);//call this when your ready to set target
objectAnimator.setDuration(1000);
然后再创建另一个并将它们存储为实例变量
更新
所以只需在res.中创建一个anim文件夹,并创建两个不同的xml文件。分别给每个人打电话 问题在于两件事之一: 1) 每个
ObjectAnimator
都需要是自己的,然后在对动画进行充气(通过final ObjectAnimator animator=(ObjectAnimator)AnimatorInflater.loadAnimator(context,resID);
)并在视图上进行设置后添加到集合中
2) 如果XML向您提供IDE错误,请检查ObjectAnimators
是否在/animator
文件夹中,而不是/res
目录中的/anim
文件夹中
已编辑:
/animators
未被识别,但/animator
是我可以,但我想将所有属性(如持续时间、颜色值从/到)放入XML文件中,并以编程方式加载它们。错误:android.animation.AnimatorSet无法转换为android.animation.ObjectAnimator
ObjectAnimator objectAnimator1 = new ObjectAnimator();
objectAnimator.setPropertyName("animX");
objectAnimator.setFloatValues(0, 1);
objectAnimator.setTarget(logoView);//call this when your ready to set target
objectAnimator.setDuration(1000);