要给Android MiniPaint应用添加清除选项以清除画布,可以按照以下步骤进行:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建绘图视图
final DrawingView drawingView = findViewById(R.id.drawing_view);
Button btnClear = findViewById(R.id.btn_clear);
btnClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 清除画布
drawingView.clearCanvas();
}
});
}
public class DrawingView extends View {
private Paint paint;
private Path path;
public DrawingView(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
path = new Path();
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(5);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float xPos = event.getX();
float yPos = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(xPos, yPos);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(xPos, yPos);
break;
case MotionEvent.ACTION_UP:
break;
default:
return false;
}
invalidate();
return true;
}
public void clearCanvas() {
path.reset();
invalidate();
}
}
这样,当用户点击清除按钮时,调用clearCanvas方法将清除画布上的所有绘制内容。