Android自定义之仿360Root大师水纹效果
生活随笔
收集整理的這篇文章主要介紹了
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
代碼就不詳細說了,貼出關鍵代碼就行了。
@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
總結
以上是生活随笔為你收集整理的Android自定义之仿360Root大师水纹效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BeanUtils简介
- 下一篇: GPS数据格式的分析与处理