项目:具有圆形效果的自定义View

一、继承View并重写onDraw方法

public class CircleView extends View{
    private static final int COLOR = Color.RED;
    private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    private int mWidth = 0;
    private int mHeight = 0;

    public CircleView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public CircleView(Context context) {
        super(context);
        init();
    }

    public CircleView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init(){
        mPaint.setColor(COLOR);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //获取当前View的宽/高
        mWidth = getMeasuredWidth();
        mHeight = getMeasuredHeight();
        //获取半径
        int radium = Math.min(mWidth,mHeight)/2;
        //画圆
        canvas.drawCircle(mWidth/2,mHeight/2,radium,mPaint);
    }

}
CircleView

相关文章: