自定义绘制的四个级别
- Canvas 的 drawXXX系列方法及Paint 最常见的使用
- Paint 的完全攻略
- Canvas 对绘制的辅助—范围剪裁和几何变换
- 使用不同的绘制方法控制绘制顺序
Canvas.drawXXX() 系列方法、Paint 基础
Canvas 类下的 drawXXX() 方法:
- drawColor()、drawRGB()、drawARGB() 绘制颜色
- drawCircle(float centerX, float centerY, float radius, Paint paint) 绘制圆形
- drawRect(float left, float top, float right, float bottom, Paint paint)、drawRect(RectF rectf, Paint paint)、drawRect(Rect rect, Paint paint) 绘制矩形
- drawPoint(float x, float y, Paint paint) 绘制点
- drawPoints(float[] pts, int offset, int count, Paint paint)、 drawPoints(float[] pts, Paint paint) 绘制一组点
- drawOval(float left, float top, float right, float bottom, Paint paint) 绘制椭圆
- drawLine(float startX, float startY, float stopX, float stopY, Paint paint) 绘制直线
- drawLines(float[] pts, int offset, int count, Paint paint)、drawLines(float[] pts, Paint paint) 绘制一组直线
- drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, Paint paint)、 drawRoundRect(Rectf rectf, float rx, float ry, Paint paint) 绘制圆角矩形
- drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean userCenter, Paint paint) 绘制扇形或弧形
- drawPath(Path path, Paint paint) 绘制自定义路径
Paint 基础
- Paint.setColor(int color)
- Paint.setStyle(Paint.Style style)
- Paint.setStokeWidth(float width)
- Paint.setAntiAlis(boolean b) 抗锯齿效果
- Paint.setTextSize(float textSize)
Path
添加子图形—addXXX
- addCircle(float centerX, float centerY, float radius, Derection dir)
- addOval(float left, float top, float right, float bottom, Direction dir)
- 其他类似
- addPath(Path path) 添加一个path
画线(直线或者曲线)— xxxTo()
- lineTo(float x, float y) / rLineTo(float x, float y) 画直线
- quadTo(float x1, float y1, float x2, float y2) / rQuadTo(float x1, float x2, float y1, float y2) 画贝塞尔曲线
- moveTo(float x, float y) / rMoveTo(float x, float y) 移动到目标位置
- arcTo(Rectf oval, float startAngle, float sweepAngle, boolean forceMoveTo) 画弧线