我想做的是画一条线,将跟随我的手指。我已经建立
一个自定义 View ,并且我有一个有效的onTouchEvent()

我可以在onDraw()方法中画一条静态线而没有太多麻烦。

我不确定如何随着手指的移动绘制线条。

  public boolean onTouchEvent(MotionEvent event) {
        super.onTouchEvent(event);
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN: {
            Log.e(TAG, " - DOWN -");
            Log.e(TAG, " getX: " + event.getX());
            break;
        }
        case MotionEvent.ACTION_UP: {
            Log.e(TAG, " - UP -");
            Log.e(TAG, " getX: " + event.getX());
            break;
        }
        }
        return true;
    }

一段时间以来,你们有什么暗示可以给吗?

我是否需要在onTouchEvent()上设置坐标并不断使 View 无效
这么小的线段画出来了?

最后,我只想基本上可以用手指在屏幕上涂鸦
这个实验。

最佳答案

您仅跟踪向上和向下事件。也跟踪ACTION_MOVE事件。请注意,即使人的手指显然没有动,它也将连续跟踪。您的代码应如下所示:

ACTION_DOWN:商店位置。

ACTION_MOVE:如果位置与存储位置不同,则从存储位置到当前位置画一条线,并将存储位置更新为当前位置。

ACTION_UP:停止。

在ACTION_MOVE位中,最好检查该位置是否与存储的位置相距至少2或3个像素。如果要存储所有绘图点,那么以后可以对数据进行处理,然后将其增加到10像素,这样就不会在一条简单的直线上得到数百个点。

关于android - Android画线跟随你的手指,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4300399/

10-12 05:20