Android 自定义 View —— 绘制一个简易仪表盘

摘要:​ 学习 Canvas 绘图机制,实现一个简单的圆形进度条(仪表盘)。

正文:

UI 给我发了一个炫酷的仪表盘效果图,系统控件无法满足,只好自己动手。

核心步骤

  1. 继承 View:重写 onDraw(Canvas canvas)方法。
  2. 绘制圆弧:使用 canvas.drawArc()绘制底部灰色背景弧和上层彩色进度弧。
  3. 绘制文字:使用 drawText()在中心绘制百分比数字。
  4. 动画效果:结合 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 是核心。

类似文章