新建一个CircleView类
public class CircleView extends View {
private Paint mPaint;
private Resources resources = getResources();
//在java代码中配置View时调用此构造方法
public CircleView(Context context) {
super(context);
init();
}
//在xml中配置View时调用此构造方法
public CircleView(Context context,AttributeSet attrs){
super(context, attrs);
init();
}
public void init() {
//初始化画笔
mPaint = new Paint();
//设置画笔颜色
mPaint.setColor(resources.getColor(R.color.circleColor));
//设置画笔宽度
mPaint.setStrokeWidth(5f);
//设置画笔模式为填充
mPaint.setStyle(Paint.Style.FILL);
}
@Override
public void onDraw(Canvas canvasc){
super.onDraw(canvasc);
//获取控件的宽高
int width = getWidth();
int height = getHeight();
//设置圆的半径为宽高最小值的二分之一
int r = Math.min(width,height)/2;
//调用Canvasc.drawCircle画圆,参数设置圆心x坐标,y坐标,半径,画笔
canvasc.drawCircle(width/2,height/2,r,mPaint);
}
}
在xml文件中像平时添加button控件一样添加自己新建的View
但是格式有一定规范, (包名.CircleView)
<com.example.shaobo.myapplication.CircleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
运行成功
第一个自定义View完成啦