自定义视图中的Android动画在交互时不播放

自定义视图中的Android动画在交互时不播放,android,animation,Android,Animation,我正在尝试用Android制作图表,我的代码就是基于这个 因此,用户可以自由缩放和平移图表,但现在我尝试在图表的视口中设置大小更改的动画。动画本身工作正常,但对我来说,问题是它无法在我与图表交互时播放,因此,如果我当前正在缩放,动画将在我完成之前不会播放。我希望在缩放或平移时播放动画。我怎样才能做到这一点 这是我的动画RectF public class AnimatableRectF extends RectF { public AnimatableRectF() { super();

我正在尝试用Android制作图表,我的代码就是基于这个

因此,用户可以自由缩放和平移图表,但现在我尝试在图表的视口中设置大小更改的动画。动画本身工作正常,但对我来说,问题是它无法在我与图表交互时播放,因此,如果我当前正在缩放,动画将在我完成之前不会播放。我希望在缩放或平移时播放动画。我怎样才能做到这一点

这是我的动画RectF

public class AnimatableRectF extends RectF {
public AnimatableRectF() {
    super();
}

public AnimatableRectF(float left, float top, float right, float bottom) {
    super(left, top, right, bottom);
}

public AnimatableRectF(RectF r) {
    super(r);
}

public AnimatableRectF(Rect r) {
    super(r);
}

public void setTop(float top){
    this.top = top;
}
public void setBottom(float bottom){
    this.bottom = bottom;
}
public void setRight(float right){
    this.right = right;
}
public void setLeft(float left){
    this.left = left;
}
}

这就是我开始动画的方式

ObjectAnimator animateTop = ObjectAnimator.ofFloat(mCurrentViewport, "top", mCurrentViewport.top, smallest - margin);
animateTop.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator valueAnimator) {
        postInvalidate();
    }
});

AnimatorSet rectAnimation = new AnimatorSet();
rectAnimation.playTogether(animateTop, animateBottom);
rectAnimation.setDuration(500).start();