使用动画时,我可以做这样的事情

ScaleAnimation animation = new ScaleAnimation(0, 1.0, 0, 1.0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

从0缩放到对象的原始大小。
我怎么能对ObjectAnimatorValueAnimator做同样的事情?

最佳答案

对于ValueAnimator,您可以使用类似这样的方法:

ValueAnimator translate = ValueAnimator.ofFloat(1f, 1.5f);
translate.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
        float scale = Float.parseFloat(animation.getAnimatedValue().toString());
        yourView.setScaleX(scale);
        yourView.setScaleY(scale);
    }
});
translate.start();

对于objectanimator,类似这样:
AnimatorSet animationSet = new AnimatorSet();

ObjectAnimator scaleY = ObjectAnimator.ofFloat(view,"scaleY", 1f, 1.5f);
ObjectAnimator scaleX = ObjectAnimator.ofFloat(view,"scaleX", 1f, 1.5f);

animationSet.playTogether(scaleX, scaleY);
animationSet.start();

也可以为两个动画设置持续时间/插值器/延迟和类似的属性。也不要忘记在配置后启动动画。
注:
未测试此代码,可能有问题无法正常工作。

关于android - 如何使用Object Animator制作放大动画,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50829140/

10-09 00:07