Android 自定义 View —— 绘制一个简易仪表盘
摘要: 学习 Canvas 绘图机制,实现一个简单的圆形进度条(仪表盘)。
正文:
UI 给我发了一个炫酷的仪表盘效果图,系统控件无法满足,只好自己动手。
核心步骤
- 继承 View:重写
onDraw(Canvas canvas)方法。 - 绘制圆弧:使用
canvas.drawArc()绘制底部灰色背景弧和上层彩色进度弧。 - 绘制文字:使用
drawText()在中心绘制百分比数字。 - 动画效果:结合
ValueAnimator实现数值的动态增长。
关键代码
kotlinkotlinprivate fun drawArc(canvas: Canvas) {
val rectF = RectF(padding, padding, width - padding, height - padding)
// 背景弧
canvas.drawArc(rectF, 135f, 270f, false, bgPaint)
// 进度弧
canvas.drawArc(rectF, 135f, currentAngle, false, progressPaint)
}
总结:自定义 View 是 Android 开发的进阶必修课,熟练掌握 Paint 和 Canvas 是核心。