Android,自定义View画圆

来源:互联网 发布:厦门诚创网络怎么样 编辑:程序博客网 时间:2024/05/16 04:35
public class CustomCirceViews extends View {    //画笔  private   Paint mPaint;    int cy = 200;    int cx = 200;    public CustomCirceViews(Context context) {        super(context);    }    public CustomCirceViews(Context context, AttributeSet attrs) {        super(context, attrs);        //初始化画笔        mPaint = new Paint();        //定义颜色        mPaint.setColor(Color.RED);        //设置圆的类型空心还是实心        mPaint.setStyle(Paint.Style.FILL);        //抗锯齿        mPaint.setAntiAlias(true);        //给边框大小        mPaint.setStrokeWidth(10);    }    public CustomCirceViews(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    //重写是哪个方法    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        super.onMeasure(widthMeasureSpec, heightMeasureSpec);    }    @Override    public boolean onTouchEvent(MotionEvent event) {        //得到它的动作        switch (event.getAction()){            case MotionEvent.ACTION_DOWN:            break;            case MotionEvent.ACTION_MOVE:                cx = (int) event.getX();//X轴坐标                cy = (int) event.getY();//Y轴坐标                //刷新                invalidate();                break;            case MotionEvent.ACTION_UP:                break;        }        return  true;    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        canvas.drawCircle(cx,cy,200,mPaint);//这是画你想要的图形    }}
布局文件
<?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:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.circleview.MainActivity">   <com.example.circleview.CustomCirceViews       android:layout_width="match_parent"       android:layout_height="match_parent" /></RelativeLayout>

温馨提示:布局文件是在主布局里写,主布局不需要写任何代码,代码写在创建的Activit里
布局文件里一定要关联自己创建的这个Activity里