看着很多app上炫炫的效果,甚是羡慕,所以今天开始学习自定义view,自定义view刚开始看比较乱,一步一步了解其原理,就很快入门了,先从简单的开始说起。
1 自定义view首先要继承view,重写onmeasure()(非必须),ondraw(Canvas canvas)方法。
2 ondraw(Canvas canvas) 这个方法作用就是绘制我们自己画的图。canvas 可以理解为画布,可以比作黑板。 Paint 画笔,可以比作粉笔(红粉笔,白粉笔,黄粉笔等等) path 按照路径绘制
(1) 画直线
canvas.drawLine(left,top,right,bottom,linepaint); 两点相连可以绘成一条直线 left,top 代表第一个点的坐标, right,bottom 第二个点的坐标 。Paint linePaint = new Paint(); linepaint.setColor(Color.red) 红色的画笔
(2) 画矩形
RectF rectf = new RectF(left,top,right,bottom); rectf 矩形的大小,绘制矩形,可以看做只需知道左上角的点 坐标和右下角的坐标,知道对角坐标就可以绘制矩形 left,top 左上角点的坐标 right,bottom 右下角点的坐标 canvas.drawRect(rectf,rectpaint); rectpaint 画笔
(3) 画弧
RectF rect = new RectF(100,100,500,500); rect可看作一个矩形,弧在设置好大小的矩形内绘制 canvas.drawArc(rect,0,90,true,paint); 从0度 开始绘制 90度是绘制的范围角度大小 true代表圆心处在矩形中心 paint.setColor(Color.RED); 弧画笔的颜色 canvas.drawArc(rect,90,30,true,paint); 以90度为开始绘制起点,30度代表范围角度,也就是从90度绘制到120度 paint.setColor(Color.BLACK);canvas.drawArc(rect,120,120,true,paint);paint.setColor(Color.YELLOW);canvas.drawArc(rect,240,120,true,paint);以120度为开始绘制起点,120度代表范围角度,也就是从120度绘制到240度
以240度为开始绘制起点,120度代表范围角度,也就是从240度绘制到360sss度
(4) 画圆
canvas.drawCircle(cx,cy,radius,paint); cx ,cy 圆心坐标 radius 园的半径大小 paint 画圆的画笔
第一次记录就先记录这些基本的形状,下篇记录根据Path绘制多变形及 折线图,柱状图,饼图的简单绘制过程。