Как применить setColorFilter() с анимацией?

У меня есть представление, которое я хочу преобразовать в красный цвет с анимацией.

Я попытался применить цветовой фильтр от альфа-цвета 00 до альфа-цвета FF, но когда начинается анимация, очевидно, что изображение прозрачно для цветового фильтра альфа-00, так что это не решение:

    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();

Как я могу анимировать цветовой фильтр с нуля на красный?


person NullPointerException    schedule 21.10.2019    source источник


Ответы (1)


Ну, наконец, я обнаружил, что фильтр белого цвета не изменяет вид... поэтому, просто сделав это, проблема решена:

finalEnemyWeaponColorFilter.setIntValues(Color.parseColor("#FFFFFF"), Color.parseColor("#EE1B1B"));
person NullPointerException    schedule 21.10.2019