前言
上一篇讲View的绘制流程中讲到过,最后一步是draw流程,在这个过程中,子view需要重写onDraw方法来画出自己的内容。在自定义View绘制自身内容的时候,系统提供了3个非常重要的类来帮助开发者画各种炫酷的图形:Canvas、Paint、Path。本篇主要介绍Canvas相关的内容,演示和梳理Canvas相关的一些比较常用的实用功能,Paint和Path在后面会单独再做介绍。
一、一切的开始
如下代码展示了一个自定义view画图形的一个非常简单的示例,画一个圆,可见自定义绘制上手非常容易。这里onDraw方法的参数Canvas就是本篇的主角了,中文意思“画布”,意思就是所有“画”的内容都是在这张画布上完成的。
1 Paint paint = new Paint(); 2 @Override 3 protected void onDraw(Canvas canvas) { 4 super.onDraw(canvas); 5 // 绘制一个圆 6 canvas.drawCircle(300, 300, 200, paint); 7 }
二、Canvas基本的draw功能
三、Canvas实现裁剪
四、Canvas实现几何变换