自定义View之-基础API

98 阅读2分钟

View学习笔记

绘制一个圆圈
      // 设置画笔的基本属性 on 2022/1/15 11:05 上午
      val paint:Paint = Paint().apply {
          color = Color.RED // 画笔颜色 on 2022/1/15 11:07 上午
          style = Paint.Style.STROKE // 画笔填充样式,线条 on 2022/1/15 11:07 上午
          strokeWidth = 20F // 画笔宽度 on 2022/1/15 11:07 上午
      }
      // 画一个圆圈, 圆点位置在(200,200),圆圈半径为50 on 2022/1/15 11:07 上午
      canvas?.drawCircle(200F,200F,50F,paint)

image.png

绘制一条直线
// 绘制一条直线 on 2022/1/15 11:33 上午
val paintLine = Paint().apply {
  color = Color.BLACK
  style = Paint.Style.STROKE
  strokeWidth = 10F
}
canvas?.drawLine(100F,300F,400F,350F,paintLine)

image-20220115114737068

image.png

绘制一个矩形
val paint = Paint().apply {
  color = Color.RED
  style = Paint.Style.STROKE
  strokeWidth = 10F
}
// 使用矩形的四个点绘制一个矩形 on 2022/1/15 11:41 上午
canvas?.drawRect(100F,100F,400F,400F,paint)
​
// 使用Rect绘制一个矩形 on 2022/1/15 11:43 上午
val rect = Rect()
rect.set(500,500,600,600)
canvas?.drawRect(rect,paint)
​
// 使用RectF绘制一个矩形 on 2022/1/15 11:44 上午
val rectF = RectF()
rectF.set(700F,700F,900F,900F)
canvas?.drawRect(rectF,paint)

image.png Rect和RectF的不同之处在于接受的参数类型不同。