目录
自定义View
自定义View之Canvas
自定义View之Paint
API
颜色填充
1 | canvas.drawColor(Color.BLACK); |
画圆
1 |
|
画矩形
1 | paint.setStyle(Style.FILL); |
画点
1 |
|
画椭圆
1 | /** |
画线
1 |
|
画圆角矩形
1 |
|
弧形或扇形
1 |
|
画自定义图形
1 |
|
画 Bitmap
1 |
|
绘制文字
- drawText()
- drawTextRun()
- drawTextOnPath()
1 |
|
范围裁切
clipRect
1 | canvas.save(); |
clipPath
1 | canvas.save(); |
几何变换
- 使用 Canvas 来做常见的二维变换;
- 使用 Matrix 来做常见和不常见的二维变换;
- 使用 Camera 来做三维变换。
Canvas二维变换
1 |
|
Matrix二维变换
Matrix 做常见变换的方式:
- 创建 Matrix 对象;
- 调用 Matrix 的 pre/postTranslate/Rotate/Scale/Skew() 方法来设置几何变换;
- 使用 Canvas.setMatrix(matrix) 或 Canvas.concat(matrix) 来把几何变换应用到 Canvas。
1 | Matrix matrix = new Matrix(); |
Camera三维变换
1 | canvas.save(); |