- 本人也是才学自定义View
- 大佬勿吐槽
代码MyView.java
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class MyView extends View {
private Paint mPaint;
private Paint mPaintBorder;
public MyView(Context context) {
super(context);
init();
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init(){
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(getResources().getColor(android.R.color.holo_purple));
mPaint.setStyle(Paint.Style.FILL);
mPaintBorder = new Paint();
mPaintBorder.setAntiAlias(true);
mPaintBorder.setColor(getResources().getColor(android.R.color.holo_purple));
mPaintBorder.setStyle(Paint.Style.STROKE);
mPaintBorder.setStrokeWidth(20);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mPaint.setColor(Color.parseColor("#ff631b9a"));
canvas.drawRect(0,0,getWidth(),getHeight(),mPaint);
mPaint.setColor(getResources().getColor(android.R.color.holo_purple));
canvas.drawCircle(0, 0, 100, mPaint);
canvas.drawCircle(0,getBottom(),100,mPaint);
canvas.drawCircle(getRight(),0,100,mPaint);
canvas.drawCircle(getRight(),getBottom(),100,mPaint);
drawBorder(canvas);
}
private void drawBorder(Canvas canvas) {
canvas.drawRect(0,0,getWidth(),getHeight(),mPaintBorder);
}
}