绘图时所需工具:
- 画板 ----对应Canvas类
- 画笔 ----对应Paint类
简单自定义view:
public class BasisView extends View {
public BasisView(Context context) {
super(context);
}
public BasisView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public BasisView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//设置画笔的基本属性
Paint paint=new Paint();
paint.setColor(Color.RED); //设置画笔颜色
paint.setStyle(Paint.Style.STROKE); //设置填充样式
paint.setStrokeWidth(50); //设置画笔宽度
//画圆
canvas.drawCircle(190, 200, 150, paint);
}
}
我们只需要创建一个派生View类,然后重写onDrow()方法并在其中设置Paint并调用Canvas中的绘图函数即可,Android的Button、TextView等组件都是派生自view
如果想自定义一个类似RelativeLayout、LinearLayout这样的容器则需要继承ViewGroup
关于View类的onDraw方法:
该函数入参是Canvas,我们只需要调用Canvas的绘图函数,效果就可以直接显示在控件上了