Android Canvas drawLine
У меня есть собственный макет, чтобы нарисовать линию на основе сенсорного ввода. У меня он рисует линию, но когда пользователь касается экрана, линия исчезает, и она рисует новую линию. Я хочу, чтобы он нарисовал новую линию и оставил там предыдущую. Вот мой код:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public class DrawView extends View {
Paint paint = new Paint();
float startX;
float startY;
float stopX;
float stopY;
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
paint.setAntiAlias(true);
paint.setStrokeWidth(6f);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawLine(startX, startY, stopX, stopY, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
startY = event.getY();
return true;
case MotionEvent.ACTION_MOVE:
stopX = event.getX();
stopY = event.getY();
break;
case MotionEvent.ACTION_UP:
stopX = event.getX();
stopY = event.getY();
break;
default:
return false;
}
Invalidate();
return true;
}
}