Android仿小米安全中心检测进度条效果仿小米安全中心检测进度条效果
主要介绍了Android仿小米安全中心检测进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
模仿小米安全中心检测效果
废话少说,咱们先上效果图:
github地址: https://github.com/niniloveyou/GradeProgressView
这个效果的使用场景并不多,主要是各种检测的时候,比如垃圾清理,手机安全检测, 当然如果你不嫌弃这个效果丑, 也可
以用作进度条。哈哈。
下面说点干货分析下这个效果怎么实现:
拿到这个效果首先想想主要有哪些技术难点:
1.
进度条进度条
2.
中间的指针怎么弄中间的指针怎么弄
1.进度条进度条
有人说进度条还不容易吗? 就这样写:
mPaint.setPathEffect(new DashPathEffect(new float[]{dashWith, dashSpace}, 。。。));
canvas.drawArc(mRectF, 135, 270, false, mPaint);
mPaint.setColor(Color.WHITE);
canvas.drawArc(mRectF, 135, degree, false, mPaint);
设置个设置个PathEffect
然后画个圆弧,给画笔设置颜色然后根据进度,算出角度, 然后再画出一个圆弧,覆盖第一个圆弧的部分不就行了。废话这
么多。
不过我想说的too young too simple. 当时我也是这样想的,于是就实现吧! 做好了先画个50% (也就是第二个圆弧覆盖第一
个圆弧的一半)试试,不错啊perfect看来是这样的, 再来个30%试试尼玛不对啊, 怎么小格子没有重合,有点错位啊。
MDZZ
后来想了一个简单点的办法,不覆盖,画两个圆弧, 但是这两个圆弧是对接起来的。 比如第一个圆弧,画一半,第二个画一
半。