【问题标题】:How to apply setColorFilter() with animation?如何将 setColorFilter() 与动画一起应用?
【发布时间】:2019-10-21 10:48:23
【问题描述】:

我有一个视图,我想通过动画将其转换为红色。

我尝试将颜色过滤器从 00 alpha 颜色应用到 FF alpha 颜色,但是当动画开始时,显然图像对于 00 alpha 颜色过滤器是透明的,所以这不是解决方案:

    ValueAnimator anim = new ValueAnimator();
    anim.setIntValues(Color.parseColor("#00EE1B1B"), Color.parseColor("#FFEE1B1B"));
    anim.setEvaluator(new ArgbEvaluator());
    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            view.setColorFilter((Integer)valueAnimator.getAnimatedValue(), android.graphics.PorterDuff.Mode.MULTIPLY);
        }
    });

    anim.setDuration(4000);
    anim.start();

如何将滤色器从无变为红色?

【问题讨论】:

    标签: android android-view objectanimator colorfilter


    【解决方案1】:

    最后我发现白色滤镜不会修改视图...所以简单地这样做,问题就解决了:

    finalEnemyWeaponColorFilter.setIntValues(Color.parseColor("#FFFFFF"), Color.parseColor("#EE1B1B"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-06
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 2017-07-20
      相关资源
      最近更新 更多