我只想使用在XML文件中定义的objectAnimator。我想放两个objectAnimators,并想在我的代码中选择要使用的代码。

这就是我设置propertyName的XML文件的样子,稍后我想在代码中访问它:

<?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定义的objectAnimator

ObjectAnimator anim = ObjectAnimator.ofFloat(view, "animX");
anim.setTarget(anim);
anim.start();


不幸的是,这不是它的工作方式,我真的很努力地找到一种访问我想要的objectAnimator的解决方案。

最佳答案

问题是两件事之一:

1)每个ObjectAnimator都必须是自己的,然后在您添加动画师(通过final ObjectAnimator animator = (ObjectAnimator) AnimatorInflater.loadAnimator(context, resID);)并将其设置在视图上之后添加到集合中

2)如果XML给您IDE错误,请检查您的ObjectAnimators是否在/animator文件夹中,而不是/anim目录中的/res文件夹中

编辑:/animators无法识别,但/animator被识别

关于android - Android-如何在XML中使用ObjectAnimator,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35258018/

10-09 12:39