我只想使用在XML文件中定义的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>
这是代码,我想要访问定义propertyName
的{{1}}:
objectAnimator
不幸的是,这不是它的工作方式,我真的很难找到一个解决方案来访问我想要的objectAnimators。
答案 0 :(得分:1)
问题之一是:
1)每个ObjectAnimator
都必须是它自己的,然后在你给动画师充气(通过final ObjectAnimator animator = (ObjectAnimator) AnimatorInflater.loadAnimator(context, resID);
)并在视图上设置
2)如果XML给你IDE错误,请检查ObjectAnimators
文件夹中的/animator
是否在/anim
目录中的/res
文件夹中
已编辑:/animators
未被识别,但/animator
答案 1 :(得分:0)
你能不能以编程方式创建自己的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文件。分别打电话给每个人。