█ 【安卓学习之UI学习】 自定义 弧形等级进度条
█ 相关文章:
-
● 【android学习开源项目之BasePopup】BasePopup(PopupWindow)进行二次封装
● 【android学习开源项目之AndroidAutoSize】AndroidAutoSize和DialogFragment的适配
● 【安卓学习之UI学习】 自定义组合控件View 的开发
● 【安卓学习之UI学习】 自定义 弧形等级进度条
█ 读前说明:
-
● 本文通过学习别人写demo,学习一些课件,参考一些博客,’学习相关知识,如果涉及侵权请告知
● 本文只简单罗列相关的代码实现过程
● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已
● demo下载传送门
█ 我的问题
● 自定义 弧形等级进度条:
█ 解决方案:
● 方法一,使用图表来绘制
MPAndroidChart
hellocharts-android
● 方法二,自定义view:贝塞尔曲线实现
如:刷礼物;水滴动画;翻书效果;天气预报曲线图等;
// 移动到操作起始点坐标,不会进行绘制,只用于移动移动画笔
mPath.moveTo
// 从一个点连线到另一个点,用于进行直线绘制
mPath.lineTo
// 生成二次贝塞尔曲线,(x1,y1) 为控制点,(x2,y2)为结束点
mPath.quadTo(x1, y1, x2, y2)
// 生成三次贝塞尔曲线, (x1,y1) 为控制点,(x2,y2)为控制点,(x3,y3) 为结束点;即与二阶区别多一个控制点
mPath.cubicTo(x1, y1, x2, y2, x3, y3)
● 方法三,自定义view:画圆、画弧的方式实现
canvas.drawArc(mRectF, (unProgressAngle + mStartAngle), mSweepAngle * arcRatio, false, mArcPaint);
● 待增加 ● ● ● ● ● ●
█ 最后:
● 最后使用第三种方案,实现效果图如下:
● 最后的最后,注意实现过程中,黑暗模式/深色模式下的 适配。
█ 相关资料:
-
● 1.2018-05-10 Android自定义View全解 - 銀灬楓 - 简书
● 2.2018-03-27 GridLayout 使用总结 - 草帽团长 -
简书
● 3.2019-07-04 网格布局(GridLayout) - 不靠谱的老肖 -简书
转载请注明出处:
https://blog.csdn.net/ljb568838953/article/details/109645413