HenCoder Android view 1-1
Canvas
drawColor颜色
drawCircle圆形
drawRect画矩形
drawPoint画点
Paint.setStrokeCap(cap)可绘制点的形状
drawPoints多个点
drawOval画椭圆
drawLine画线
drawLines画多个线
drawRoundRect圆角矩形
drawArc画弧形或者扇形
useCenter 表示是否连接到圆心,如果不连接到圆心,就是弧形,如果连接到圆心,就是扇形。
drawPath画自定义形状
稍微复杂,Path 可以描述直线、二次曲线、三次曲线、圆、椭圆、弧形、矩形、圆角矩形。把这些图形结合起来,就可以描述出很多复杂的图形。
Path 有两类方法,一类是直接描述路径的,另一类是辅助的设置或计算。 1.直接描述路径: a.addXxx() ——添加子图形
addCircle(float x, float y, float radius, Direction dir) 添加圆
b.xxxTo() ——画线(直线或曲线)
lineTo画线 close() 封闭当前子图形 2.辅助的设置或计算 Path.setFillType(Path.FillType ft) 设置填充方式
FillType 的取值有四个:
EVEN_ODD
WINDING (默认值)
INVERSE_EVEN_ODD
INVERSE_WINDING
drawBitmap画 Bitmap
drawText 绘制文字
总结关键点:
- 自定义绘制的方式是重写绘制方法,其中最常用的是 onDraw()
- 绘制的关键是 Canvas 的使用
- Canvas 的绘制类方法: drawXXX() (关键参数:Paint)
- Canvas 的辅助类方法:范围裁切和几何变换
- 可以使用不同的绘制方法来控制遮盖关系
开始:自定义VIEW 首先继承父类View,重写其中的ondraw方法,并提前创建好paint画笔,把绘制代码放在ondraw里。
Canvas.drawXXX() 和 Paint 基础
- Canvas类下的所有 draw- 打头的方法,例如 drawCircle() drawBitmap()。
- Paint类的几个最常用的方法。具体是:
- setStyle(Style style)设置绘制模式
- setColor(int color)设置颜色
- setStrokeWidth(float width)设置线条宽度
- setTextSize(float textSize)设置文字大小
- setAntiAlias(boolean aa)设置抗锯齿开关
练习: https://github.com/hencoder/PracticeDraw1 21API以下使用newRectF 确定四个坐标
柱状图 与饼状图自定义VIEW,只是直接画出来,做不到复用,在空闲时间继续完善,做一个可复用的图