自定义View三个小圆

来源:互联网 发布:微信端口开发 编辑:程序博客网 时间:2024/05/20 12:48
  1. 自定义View刚学到新知识,菜鸟正在成长,画了三个圆,自定义控件四个步骤比较重要onMeasure 主要是测量大小,onDraw绘制,onLayout 确定显示的位置 onTouch触摸事件
    简单的东西,迅速成长

public class ViewKey extends View{

/**
*自动生成的四个构造方法
/
public ViewKey(Context context) {
super(context);
}

public ViewKey(Context context, AttributeSet attrs) {    super(context, attrs);}public ViewKey(Context context, AttributeSet attrs, int defStyleAttr) {    super(context, attrs, defStyleAttr);}public ViewKey(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {    super(context, attrs, defStyleAttr, defStyleRes);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {    super.onMeasure(widthMeasureSpec, heightMeasureSpec);}

/**
*onDraw在这绘制
/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

    Paint p1 = new Paint();    Paint p2 = new Paint();    Paint p3 = new Paint();    float wi = canvas.getWidth()/2;    float he = canvas.getHeight()/2;    p1.setColor(Color.RED);    p2.setColor(Color.YELLOW);    p3.setColor(Color.BLUE);    canvas.drawColor(Color.WHITE);    canvas.drawCircle(wi-50, he-50,40, p2);    canvas.drawCircle(wi, he,60, p1);    canvas.drawCircle(wi+50, he+50,80, p3);}@Overrideprotected void onLayout(boolean changed, int left, int top, int right, int bottom) {    super.onLayout(changed, left, top, right, bottom);}@Overridepublic boolean onTouchEvent(MotionEvent event) {    return super.onTouchEvent(event);}

}

这里写图片描述