一、自定义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");
@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); }