android - 如何使用 Object Animator 制作放大动画

标签 android android-animation objectanimator

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

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/

相关文章:

java - 如何仅检索特定用户的firebase数据库?

java - 数据更改时的 Activity 转换

java - 我想从 InstaMaterial(Miroslaw Stanek)了解这个变量的用途

Android ObjectAnimator 在第二个动画上闪烁

android - ObjectAnimator 的一部分未与 API 级别 23 以下的 AnimationSet playTogether() 同时播放

用于通知的 Android 自定义关闭按钮

android ImageView/RelativeLayout 通过拖动 ImageView/RelativeLayout 的角来增加尺寸

Android 拖动并返回到之前的 Activity ,例如 Facebook 和 Google Photos

android - 如何将 ObjectAnimator 重置为初始状态?

android - 半透明/透明状态栏和导航栏