Canvas是什么?
Canvas顾名思义,就是画布的意思.它在安卓中可以变换(旋转,移动,缩放,错切).在自定义View中,重写onDraw时会传入一个Canvas对象,我们可以用它来画点(Point),线(Line),圆(Circle),文字(Text),圆弧(ARC),路径(Path)等图形.还可以暂时保存画布然后再次取出上次保存的画布进行操作.(画布在不同的位置可以保存,然后可以再次回到你想要回过去再继续画的地方,就可以省略计算把画布移动到原来的位置).下面你就会知道了,不理解没关系.
我们用Canvas来画安卓中的2D图形.通过巧妙的变换,能画出一些很复杂的图形.
Canvas怎么用?
首先需要自定义一个View:
1.自定义类继承View
2.重写构造函数
3.重写onDraw()方法
4.最后别忘了加到xml布局文件中
以下给出代码,至于下面测试部分,代码很多相同,只需修改onDraw函数中的内容即可
public class CanvasDemo extends View {
private Paint mPaint;
public CanvasDemo(Context context) {
this(context,null);
}
public CanvasDemo(Context context, @Nullable AttributeSet attrs) {
this(context, attrs,0);
}
public CanvasDemo(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initControl();
}
private void initControl() {
mPaint = new Paint();
// 抗锯齿,就是让图形看上去没有齿轮状,看起来更柔和
mPaint.