Android 颜色渐变方法统计

效果:

第一个方法可以实现多种颜色的切换  其他的只能实现俩个颜色之间的切换


        ValueAnimator valueAnimator = ValueAnimator.ofArgb(a, b);

        valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                int animatedValue = (int) valueAnimator.getAnimatedValue();
                bg.setBackgroundColor(animatedValue);
            }
        });
        valueAnimator.setDuration(2000);
        valueAnimator.setRepeatCount(1);
        valueAnimator.start();

ValueAnimator valueAnimator = ValueAnimator.ofInt(0, 100);

        final ArgbEvaluator argbEvaluator = new ArgbEvaluator();

        valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                int animatedValue = (int) valueAnimator.getAnimatedValue();
                int color = (int) argbEvaluator.evaluate(animatedValue / 100f, a, b);
                bg.setBackgroundColor(color);
            }
        });
        valueAnimator.setDuration(2000);
        valueAnimator.setRepeatCount(1);
        valueAnimator.start();

 final View bg = findViewById(R.id.bg);

        final int a = Color.BLUE;
        final int b = Color.RED;

        ValueAnimator valueAnimator = ValueAnimator.ofInt(0, 100);
        valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                int animatedValue = (int) valueAnimator.getAnimatedValue();
                int color = ColorUtils.blendARGB(a, b, animatedValue / 100f);
                bg.setBackgroundColor(color);
            }
        });
        valueAnimator.setDuration(2000);
        valueAnimator.setRepeatCount(1);
        valueAnimator.start();

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值