自定义view画圆

来源:互联网 发布:赵 和谐 家人 知乎 编辑:程序博客网 时间:2024/06/05 06:43
package test.bwie.com.huayuan2;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;/** * Created by wangjiao on 2017/9/28. */public class Yuan extends View{    private Paint mpaint;    public Yuan(Context context) {        super(context);    }    public Yuan(Context context, AttributeSet attrs) {        super(context, attrs);    }    public Yuan(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        super.onMeasure(widthMeasureSpec, heightMeasureSpec);    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        //画圆        //初始化画笔 文字        Paint pa = new Paint();        //圆        Paint pa1 = new Paint();        Paint pa2 = new Paint();         pa.setStyle(Paint.Style.STROKE);        pa1.setStyle(Paint.Style.STROKE);        pa2.setStyle(Paint.Style.STROKE);        float wi = canvas.getWidth()/2;        float he = canvas.getHeight()/2;        pa.setColor(Color.BLACK);        pa.setARGB(255, 199, 33, 56);        pa1.setColor(Color.BLUE);        pa2.setColor(Color.GREEN);        pa.setAntiAlias(true);                       //设置画笔为无锯齿        pa1.setAntiAlias(true);        pa2.setAntiAlias(true);        canvas.drawColor(Color.YELLOW);        canvas.drawCircle(250, 250,60, pa);        canvas.drawCircle(210, 210, 40, pa1);        canvas.drawCircle(180, 180, 20, pa2);//        canvas.drawText("1508A", wi, he, pa);        super.onDraw(canvas);    }    @Override    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {        super.onLayout(changed, left, top, right, bottom);    }    @Override    public boolean onTouchEvent(MotionEvent event) {        return super.onTouchEvent(event);    }    @Override    protected void onFinishInflate() {        super.onFinishInflate();    }    @Override    protected void onSizeChanged(int w, int h, int oldw, int oldh) {        super.onSizeChanged(w, h, oldw, oldh);    }}


xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"    android:layout_width="match_parent" android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="test.bwie.com.huayuan2.MainActivity">  <test.bwie.com.huayuan2.Yuan      android:layout_width="match_parent"      android:layout_height="match_parent" /></RelativeLayout>