0

我正在开发一个需要检测手写笔大小的App,比如我用手(比较宽)画,返回null,如果我用手写笔(比较小)画,执行draw.Point方法。

我不知道如何检测到这一点。请帮忙谢谢。

我的代码列表如下。

public PaintView(Context context) {
        super(context);
        paint=new Paint(Paint.DITHER_FLAG);
        bitmap = Bitmap.createBitmap(MainActivity.widthPixels, MainActivity.heightPixels, Bitmap.Config.ARGB_8888);
        canvas=new Canvas();
        canvas.setBitmap(bitmap);

        paint.setStyle(Paint.Style.STROKE);
        //float size = paint.getStrokeWidth();
        paint.setStrokeWidth(5);
        paint.setColor(Color.RED);
    }

@Override
    protected void onDraw(Canvas canvas) {
        canvas.drawBitmap(bitmap,0,0,null);
    }

@Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction()==MotionEvent.ACTION_MOVE) {
            canvas.drawLine(mov_x, mov_y, event.getX(), event.getY(), paint);
            invalidate();
        }
        if (event.getAction()==MotionEvent.ACTION_DOWN) {
            mov_x=(int) event.getX();
            mov_y=(int) event.getY();
            canvas.drawPoint(mov_x, mov_y, paint);
            invalidate();
        }
        mov_x=(int) event.getX();
        mov_y=(int) event.getY();
        return true;
    }
4

1 回答 1

1

您可以使用MotionEvent.getSize()方法来检测手指和触控笔触摸的大小,然后创建规则如何确定导致触摸的原因。MotionEvent.getPressure ()也可能有用。

于 2016-12-20T09:47:22.080 回答