一般在自定义view的时候都会绘制图形,一般都是重写onDraw(Canvas canvas)方法的时候用到,Canvas代表"依附"于View的画布.
一般常见的api:
1>drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)
绘制弧
2>drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
在指定点绘制从源位图中"挖取"的一块
3>drawBitmap(Bitmap bitmap, float left, float top, Paint paint)
在指定点绘制位图
4>drawCircle(float cx, float cy, float radius, Paint paint)
在指定点绘制一个圆
5>drawLine(float startX, float startY, float stopX, float stopY, Paint paint)
绘制一条直线
6>drawLines(float[] pts, int count, Paint paint)
绘制多条直线
7>drawOval(RectF oval, Paint paint)
绘制椭圆
8>drawPath(Path path, Paint paint)
沿着指定的Path绘制任意形状
9>drawPoint(float x, float y, Paint paint)
绘制一个点
10>drawPoints(float[]pts, int offset, intcount, Paint paint)
绘制多个点
11>drawRect(float left, float top, float right, float bottom, Paint paint)
绘制矩形
12>drawRoundRect(RectF rect, float rx, float ry, Paint paint)
绘制圆角矩形
13>drawText(String text, int start, int end, Paint paint)
绘制字符串
14>drawTextOnPath(String text, Path path, float hOffset, flaot vOffset, Paint paint)
沿着路径绘制字符串
15>clipRect(float left, float top, float right, float bottom)
剪切一个矩形区域
16>clipRegion(Region region)
剪切指定区域
android 还提供了Canvas坐标转换的方法
1>ratate(float degress, float px, float py)
对Canvas进行旋转变换
2>scale(float sx, float sy, flaot pa, float py)
对Canvas进行缩放变换
3>skew(float sx, float dy)
对Canvas进行倾斜变换
4>translate(float dx, float sy)
移动Canvas 向右移动dx距离(dx为负数即向左移动);向下移动dy距离(dy为负数即向上移动)
Paint的常用方法
1>setARGB(int a, int r, int g, int b)/setColor(int color)
设置颜色
2>setAlpha(int a)
设置透明度
3>setAntiAlias(boolean aa)
设置是否抗锯齿
4>setPathEffect(PathEffect effect)
设置绘制路径是的路径效果
5>setShader(Shader shader)
设置画笔的填充效果
6>setShadowLayer(float radius, float dx, float dy, int color)
设置阴影
7>setStrokeWidth(float width)
设置画笔的笔触宽度
8>setStrokeJoin(Paint,Join join)
设置画笔转弯处的连接风格
9>setStyle(Paint.Style style)
设置Paint的填充风格
10>setTextAlign(Paint.Align align)
设置绘制文本是的文字对齐方式
11>setTextSize(float textSize)
设置绘制文本时的文字大小