您的位置:首页 > 其它

自定义View三个小圆

2017-09-28 09:38 99 查看
自定义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);
}

@Override
protected 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);

}

@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);
}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: