1、自定义一个类继承View
package com.gj.gejuan20181130;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public class BallView extends View {
private Paint mCirclePaint;
private int x=100;
private int y=100;
public BallView(Context context) {
super(context);
init();
}
public BallView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public BallView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public BallView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init();
}
private void init() {
mCirclePaint = new Paint();//创建画笔
mCirclePaint.setStyle(Paint.Style.FILL);//设置样式
mCirclePaint.setColor(Color.GREEN);//设置颜色
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawCircle(x,y,100,mCirclePaint);//画圆 第一个参数x轴,第二个参数y,轴坐标,第三个参数半径,第四个参数画笔
}
@Override
public boolean onTouchEvent(MotionEvent event) {
x = (int) event.getX();//获得X坐标
y = (int) event.getY();//获得y坐标
invalidate();//刷新
return true;//拦截处理
}
}
注意:
build一下然后在main布局中引用自定义view