1.自定义MyView继承View
2.Activity中实例化该对象.addContentView(view对象);
---------------------------------------------------------------------------------
package com.example.android.game_xczyw;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.support.v7.app.ActionBar.LayoutParams;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
public class BrushView extends View{
private Paint brush = new Paint();
private Path path = new Path();
public Button btn;
public LayoutParams params;
public BrushView(Context context) {
super(context);
brush.setAntiAlias(true);
brush.setColor(Color.BLUE);
brush.setStyle(Paint.Style.STROKE);
brush.setStrokeJoin(Paint.Join.ROUND);
brush.setStrokeWidth(10f);
btn = new Button(context);
btn.setText("完成");
params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
btn.setLayoutParams(params);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float pointX = event.getX();
float pointY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(pointX, pointY);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(pointX, pointY);
break;
default:
return false;
}
postInvalidate();
return false;
}
public void oK(){
path.reset();
postInvalidate();
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, brush);
super.onDraw(canvas);
}
}
-------------------------------------------------------------------------
Activity--
BrushView brushview =new BrushView(this);
// brushview.oK(); 解除画画
// addContentView(brushview, brushview.params);//添加画布至布局