自定义控件,就是要继承View的类。有两种方式调用;
一:在工程中直接调用,例如 CurrentView currentView = new CurrentView(Context)。这种方法只会调用CurrentView中的带一个参数的构造方法。
二:在Layout布局文件中使用,系统会自动会在继承自定义View的内中调用带有两个参数的构造方法。
在自定义控件的时候,需要掌握了解先关与Canvas与Paint相关的了解知识。Canvas代表的是画布,Paint代表是画笔。
如何创建Paint对象,意图就是在笔触与连接的处更加圆滑一点。
Paint mPaint = new Paint(); //创建画笔对象
mpaint.setStrokeJoin(Paint,Hoin.ROUND); //设置画笔的拐角为圆弧
mPaint.setStyle(Paint.STOROKE); //设置画笔样式为边框轮廓画笔
mPaint.setStrokeWidth(50); //设置画笔的宽度50
知识补充:
在看得到以下源码,不知道会不会提出问题,为什么要把画笔的透明度设置为0,因为只有这样才能擦除效果。同时也因为PorterDuffCFermode进行图层混合时,并不是简单的图层计算,同时也会急速透明通道的值。正式因为混合了透明通道的值,才会形成这样的效果。
源码如下:
package com.example.demod16;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.