一、自定义控件的实现
自定义控件可继承view类或view类的各个子类,一般需要实现3个方法,实现后可以作为一个控件在布局和java文件中使用。
publicMyRedButton(Context context) {
this(context,null);
}
publicMyRedButton(Context context, AttributeSet attrs) {
this(context, attrs,0);
}
publicMyRedButton(Context context, AttributeSet attrs,intdefStyleAttr) {
super(context, attrs, defStyleAttr);
init();//初始化方法
}
二、自定义控件的绘制
可以用onDraw()方法自己画一个想要的控件样式
其中Paint类相当于画布,可以设置画笔颜色,字体,线条宽度等基础属性。
Canvas类相当于画笔,可以用他包含的方法,画圆,画矩形,画扇形,画文字等等。
@Override
//绘画方法,Paint相当于画布,Canvas相当于画笔
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//将画布设为红色
paint.setColor(Color.RED);
//画圆
canvas.drawCircle(getWidth()/2,getWidth()/2,getWidth()/2,paint);
String text =""+number;
//将画布设为白色
paint.setColor(Color.WHITE);
paint.setTextSize(100);
//将矩形包裹住文字的大小
paint.getTextBounds(text,0,text.length(),rect);
//画文字
canvas.drawText(text,getWidth()/2-rect.width()/2,getWidth()/2+rect.height()/2,paint);
}
网友评论