android - 如何为 ImageView 的 ImageAlpha 设置动画

标签 android animation imageview alpha

自 API16 起,应使用 ImageView.setImageAlpha(int) 而不是 View.setAlpha(float) 以获得更好的性能。

但是我怎样才能使该值具有动画效果呢?我尝试了 ValueAnimator 但没有成功。

ObjectAnimator.ofInt(imageView, "imageAlpha", 0).start();

我的意思是 Chet Haase 在这里所说的 http://youtu.be/vQZFaec9NpA?t=33m

最佳答案

应该没问题。也许您忘记指定动画持续时间,或者您的 alpha 值错误(负数、太小、太接近以至于无法注意到)?

您始终可以使用自定义监听器制作动画。它更长,但更容易调试:

ValueAnimator animator = ValueAnimator.ofInt(0,255);
animator.setDuration(300);
animator.setInterpolator(new DecelerateInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator valueAnimator) {
        imageView.setImageAlpha(valueAnimator.getAnimatedValue());
    }
});
animator.start();

关于android - 如何为 ImageView 的 ImageAlpha 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28170496/

相关文章:

java - 按照线程启动的顺序获取线程的结果

swift - 如何为 UILabel 文本大小(和颜色)设置动画

android - ImageView 中的填充不起作用

android - 在具有一定半径的圆形路径上移动 ImageView

javascript - 为不正确的类触发的动画

android - ImageView 周围不需要的填充

java - 为什么在 Android studio 中工作时无法获得清晰的图像?

android - 如何停止 fcm 后台自动生成的通知?

android - 对话框 fragment 中的自动完成位置

android - 为 KeyboardView 应用主题