Android自定义之仿360Root大师水纹效果

时间:2022-09-11 12:40:57

很简单的一个效果。我直接上图了。

Android自定义之仿360Root大师水纹效果

代码就不详细说了,贴出关键代码就行了。

 @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.save();
        canvas.drawCircle(width / 2, height / 2, interRadius, interCirclePaint);
        if (list != null  && list.size() > 0){
            int listSize = list.size() ;
            int removeIndex = -1 ;
            for (int i = 0 ; i < listSize ; i ++){
                CircleInfo mcircleInfo = list.get(i);
                outPaint.setColor(mcircleInfo.color);
                outPaint.setAlpha( 255 - mcircleInfo.radius  * 255  / outCircleMaxRadius);
                mcircleInfo.radius = mcircleInfo.radius + 1 ;
                if (mcircleInfo.radius > outCircleMaxRadius){
                    removeIndex = i ;
                }else {
                    canvas.drawCircle(width/2 , height /2 , mcircleInfo.radius , outPaint);
                }
            }
            if (removeIndex > 0 ){
                list.remove(removeIndex);
                removeIndex = -1 ;
            }
        }
        canvas.restore();

        if (list == null){
            animatorControl();
        }

        postInvalidate();
    }



代码下载地址:  https://github.com/flyme2012/EasyWave

附件列表