一、自定义View
1.继承于View类,重新三个构造方法:
public WaveLoadingView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public WaveLoadingView(Context context, AttributeSet attrs) {
super(context, attrs,0);
}
public WaveLoadingView(Context context) {
super(context,null);
}
2.绘画中不可缺少的当然就是Pain(画笔),下面就来初始化Pain,给画笔添加些样式。
Paint p = new Paint();
//设置画笔的颜色
p.setColor(Color.parseColor("#2EA4F2"));
//设置画笔的风格:全部填充FILL 只画轮廓STROKE
p.setStyle(Paint.Style.STROKE);
//设置画笔的宽度
p.setStrokeWidth(8);
//设置是否抗锯齿
p.setAntiAlias(true);
//设置文字大小
p.setTextSize(30);
//测量字符串的长度
p.measureText("Hello World");
3.现在我们就可以作画啦,重写ondraw方法。
@Override
protected void onDraw(Canvas canvas) {
canvas.drawRect(0, 0, getMeasuredWidth(), getMeasuredHeight(), bgPaint);
bgPaint.setColor(Color.BLACK);
//黑色的圆
canvas.drawCircle(getMeasuredWidth()/2,getMeasuredHeight()/2, getMeasuredWidth()/2, bgPaint);
}