Android 开发进阶: 自定义 View 1-1 绘制基础
Android 开发进阶: 自定义 View 1-2 Paint 详解
Android 开发进阶:自定义 View 1-3 drawText() 文字的绘制
Android 开发进阶:自定义 View 1-4 Canvas 对绘制的辅助 clipXXX() 和 Matrix
Android 开发进阶:自定义 View 1-5 绘制顺序
Android 自定义 View 1-6:属性动画 Property Animation(上手篇)
Android 自定义 View 1-7:属性动画 Property Animation(进阶篇)
Android 自定义 View 1-8 硬件加速
Android UI 部分 2-1 布局基础
Android UI 部分 2-2 全新定义 View 的尺寸
Android UI 部分 2-3 定制 Layout 的内部布局
简介
一图胜千言,一视频胜千图,走你:
1 范围裁切
范围裁切有两个方法: clipRect() 和 clipPath()。裁切方法之后的绘制代码,都会被限制在裁切范围内。
1.1 clipRect()
使用很简单,直接应用:canvas.clipRect(left, top, right, bottom);
canvas.drawBitmap(bitmap, x, y, paint);
记得要加上 Canvas.save() 和 Canvas.restore() 来及时恢复绘制范围,所以完整代码是这样的:canvas.save();
canvas.clipRect(left, top, right, bottom);
canvas.drawBitmap(bitmap, x, y, paint);
canvas.restore();
1.2 clipPath()
其实和 clipRect() 用法完全一样,只是把参数换成了 Path ,所以能裁切的形状更多一些:canvas.save();
canvas.clipPath(path1);
canvas.drawBitmap(bitmap, point1.x, point1.y, paint);
canvas.restore();
canvas.save();
canvas.clipPath(path2);
canvas.drawBitmap(bitmap, point2.x, point2.y, paint);
canvas.restore();
2 几何变换
几何变换的使用大概分为三类:使用 Canvas 来做常见的二维变换