android path怎么保存等下次onDraw直接复用?
在 Android 中,可以使用 Path 对象来保存路径,并在下次 onDraw() 方法中直接复用。
要保存 Path 对象,可以在类的成员变量中声明一个 Path 对象,并在 onDraw() 方法中使用它来绘制路径。例如:
public class CustomView extends View {
private Path path;
public CustomView(Context context) {
super(context);
path = new Path();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 在这里使用 path 对象绘制路径
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 路径的起点
path.moveTo(x, y);
break;
case MotionEvent.ACTION_MOVE:
// 连接路径的线段
path.lineTo(x, y);
break;
case MotionEvent.ACTION_UP:
// 手指抬起时,可以对路径进行一些操作,例如闭合路径等
path.close();
break;
}
// 重绘视图,调用 onDraw() 方法
invalidate();
return true;
}
}
上面的代码中,通过 onTouchEvent() 方法监听触摸事件,并根据手指的移动轨迹来构建路径。在 onDraw() 方法中使用 path 对象来绘制路径。
这样,每次触摸事件结束后,会将路径保存在 path 对象中,并在下次 onDraw() 方法中直接复用。
原文地址: https://www.cveoy.top/t/topic/i8A0 著作权归作者所有。请勿转载和采集!