如何通过playTogether顺序播放ObjectAnimator

时间:2018-08-25 23:11:10

标签: java android

这可能是一个愚蠢的问题,但我不确定如何继续播放ObjectAnimator,然后再依次播放两个其他ObjectAnimator。

我有一张要旋转然后沿对角线移动的图像。为了对角移动图像,我制作了一个AnimatorSet并同时播放两个ObjectAnimator(一个用于x方向,另一个用于y方向)。

问题是我不确定如何在同时播放第一个和第二个两个动画器的同时播放所有三个动画器到animatorSet中(希望如此)。

到目前为止,这是我所拥有的,但我肯定缺少某些东西。

            as.play(ObjectAnimator.ofFloat(ship, "rotation", sangle, angle).setDuration(1000));

            ObjectAnimator x = ObjectAnimator.ofFloat(ship, "translationX", rx, rx2);
            ObjectAnimator y = ObjectAnimator.ofFloat(ship, "translationY", ry, ry2);
            as.playTogether(x, y);
            as.setDuration(3000);
            as.start();

            setshipanimation();

我熟悉.before函数,但是我不知道如何将其与.playTogether函数一起使用:S

真的很感谢所有帮助!

1 个答案:

答案 0 :(得分:1)

尝试一下:

final AnimatorSet set = new AnimatorSet();

final AnimatorSet subSet = new AnimatorSet();
subSet.playTogether(
        ObjectAnimator.ofFloat(ship, "translationX", rx, rx2),
        ObjectAnimator.ofFloat(ship, "translationY", ry, ry2));

set.playSequentially(
        ObjectAnimator.ofFloat(ship, "rotation", sangle, angle)
                .setDuration(1000),
        subSet.setDuration(3000));

set.start();