利用onDraw画出半圆按钮

项目需要,顺手写了一个半圆按钮,记录下来,供新手学习


代码如下:

public class HalfCircleButton extends Button {


	public HalfCircleButton(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}


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


	public HalfCircleButton(Context context) {
		super(context);
	}


	@Override
	protected void onDraw(Canvas canvas) {


		Paint paint = new Paint();
		// 设置画笔为填充样式
		paint.setStyle(Style.FILL);
		// 设置画笔颜色
		paint.setColor(Color.parseColor("#568330"));
		// 消除锯齿
		paint.setAntiAlias(true);


		// 做画范围
		RectF rectF = new RectF();
		//确定起始坐标和宽高,这里高度为原来的2倍,这样圆点就在矩形的下边线上 了
		rectF.set(0, 0, this.getWidth(), this.getHeight() * 2);


		//起点与终点
		float startAngle = -180;
		float sweepAngle = 180;
		canvas.drawArc(rectF, startAngle, sweepAngle, false, paint);


		this.setBackgroundColor(Color.TRANSPARENT);


		//注意这里,这是button自己的绘画,需要放到我们的代码之后,否则,button原有的样式会被覆盖
		super.onDraw(canvas);
	}
}


在布局文件中的使用



利用onDraw画出半圆按钮_第1张图片


你可能感兴趣的:(Android笔记)