作者: 真好吃哦 | 来源:发表于2018-05-11 13:35 被阅读0次

    public class gradual extends View {

    private int animatedValue;
    private int colorEnd;
    private int colorStart;
    
    public gradual(Context context) {
        super(context);
        init();
    }
    
    public gradual(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        System.out.println(111);
        init();
    }
    
    public void init() {
    
            ValueAnimator animator=ValueAnimator.ofInt(0,255);
            animator.setDuration(20000);
            animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @RequiresApi(api = Build.VERSION_CODES.O)
                @Override
                public void onAnimationUpdate(ValueAnimator animation) {
                    animatedValue = (int) animation.getAnimatedValue();
                    colorStart = Color.rgb(255-animatedValue,animatedValue,255-animatedValue);
                    colorEnd = Color.rgb(animatedValue,animatedValue,255-animatedValue);
                    invalidate();
                }
            });
            animator.start();
    
    
    }
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //获取View的宽高
        int width = getWidth();
        int height = getHeight();
    
        Paint paint = new Paint();
        LinearGradient backGradient = new LinearGradient(width, 0, 0, 0, new int[]{colorStart,colorEnd}, new float[]{0,1f}, Shader.TileMode.CLAMP);
        paint.setShader(backGradient);
    
        canvas.drawRect(0, 0, width, height, paint);
    }
    

    }

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/dksfdftx.html