Java 如何在android中使用画布绘制线条?

Java 如何在android中使用画布绘制线条?,java,android,Java,Android,我想在android的ontouch事件中使用画布画一条线 这是我的密码: switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mPath.reset(); mPath.moveTo(x, y); mX = x; mY = y; invalidate(); break; case MotionEvent.ACTION_MOVE:

我想在android的ontouch事件中使用画布画一条线

这是我的密码:

switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
        mPath.reset();
        mPath.moveTo(x, y);
        mX = x;
        mY = y;
        invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
        float dx = Math.abs(x - mX);
        float dy = Math.abs(y - mY);
        if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
            mPath.quadTo(mX, mY, (x + mX)/2, (y + mY)/2);
            mX = x;
            mY = y;
        }
        invalidate();
    break;
    case MotionEvent.ACTION_UP:
        mPath.lineTo(mX, mY);
        mCanvas.drawPath(mPath, mPaint);
        mPath = new Path();
        paths.add(mPath);
        mPath.reset();
        invalidate();
    break;
}

但是,当我将手指从鼠标按钮上移开时,这条线就会出现,这意味着这条线只会出现在
触摸屏
操作中。我想画一条像徒手画一样的线。

只有当你做动作时才调用drawPath。因此,如果您将drawPath复制到所有案例中,sit应该在您使用的
MotionEvent.ACTION\u UP
事件处理代码中起作用来画线


在其他事件处理代码部分(
MotionEvent.ACTION\u MOVE
MotionEvent.ACTION\u DOWN
)中添加这一行代码,它也会更早地画出这条线。

因此它也应该随着手指的移动而弯曲?只有在释放触摸时才会调用ACTION\u UP。您需要添加到直线路径,并在“移动”操作中绘制它。