无法在视图中更改背景

时间:2017-02-17 11:56:17

标签: android android-animation

我试图更改视图的背景颜色。我写了一些代码,我可以用动画改变颜色,但第一次我的视图在颜色变化之前就冻结了。这是我的代码

private void changeBackgroundColorWithAnimation(int duration, final View view, int startColor, int endColor) {
    ValueAnimator anim = new ValueAnimator();
    anim.setIntValues(startColor, endColor);
    anim.setEvaluator(new ArgbEvaluator());
    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(final ValueAnimator valueAnimator) {
            view.setBackgroundColor((Integer) valueAnimator.getAnimatedValue());

        }
    });

    anim.setDuration(duration);
    anim.start();
}

我这样称呼我的功能:

changeBackgroundColorWithAnimation(300, TransferFragmentNewVersion.rootLayout, 
    Color.parseColor("#E6000000"), Color.WHITE);

正如我所说,背景颜色已经改变,但第一次View是冻结的(只是第一次)l

如何解决我的问题?谢谢大家。

1 个答案:

答案 0 :(得分:0)

为什么不将视图的初始颜色作为起始颜色发送? 您可以将Color.parseColor("#E6000000")替换为TransferFragmentNewVersion.rootLayout.getSolidColor()

您可以发布更多代码吗?