zoukankan      html  css  js  c++  java
  • Android自定义之仿360Root大师水纹效果

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

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

     @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




    附件列表

  • 相关阅读:
    利用Trace.WriteLine定位难以重现的问题
    技术经验分享
    辞职小记
    残阳如血--读《忆秦娥·娄山关》 有感
    一个简单多线程等待窗口
    [转]Control的Invoke和BeginInvoke
    elk 改为使用 ik 中文分词器
    在 jenkins 的 pipeline 中使用分支参数
    centos8 下删除网桥 docker0
    vscode 实现组件之间的跳转
  • 原文地址:https://www.cnblogs.com/flyme2012/p/a2bbe47855192daa69e87a08948419c6.html
Copyright © 2011-2022 走看看