自定义View画圆、直线、矩形

这是我们的效果图。。。。

下面是代码。。。。。。


首先我们先从xml开始

<com.bwie.test.demo2_view.MyView
    android:id="@+id/my_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
这是 我们自定义View相关联的控件
我们先创建一个MyView类,然后继承View
public class MyView extends View {
 
  
//这是MyView继承View所用的两个方法
	
public MyView(Context context) {
        super(context);
    }

    public MyView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
		
 @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas)

        Paint paint=new Paint();
        paint.setTextSize(10);
//        paint.setColor(0xffff0000);  这是另一种颜色 : 红色
        paint.setColor(Color.BLACK);

        // 画直线  
        canvas.drawLine(0,10,200,10,paint);
        // 画斜线  
        canvas.drawLine(0,10,200,60,paint);
        // 画矩形(Rect)  
        Rect rect=new Rect(0, 100,100,160);
        canvas.drawRect(rect,paint);
        // 画矩形(RectF)  
        RectF rectf = new RectF(150,80,250,160);
        canvas.drawRect(rectf,paint);
        // 画矩形(坐标)  
        canvas.drawRect(300,80,400,160,paint);
        // 画圆角矩形(RectF)  
        RectF rectrf = new RectF(10, 180,110,250);
        canvas.drawRoundRect(rectrf,10,10,paint);
        // 画圆形  
        canvas.drawCircle(100, 350,50,paint);
        paint.setStyle(Paint.Style.STROKE);
        canvas.drawCircle(210,350,50,paint);
        paint.setStyle(Paint.Style.FILL_AND_STROKE);
        canvas.drawCircle(320,350,50,paint);
        paint.setStyle(Paint.Style.FILL);
        canvas.drawCircle(430,350,50,paint);
    }
 
  
}
Ok啦。。。。

你可能感兴趣的:(自定义View画圆、直线、矩形)