奇怪的触摸行为

时间:2018-01-14 17:06:55

标签: android touch

我偶然发现了一个仅在Galaxy S5 mini上出现的奇怪行为。

让我们说我的应用有两个图像视图(ivA和ivB),它们之间有一个小的空白区域

+------------+---+--------------+
|            |   |              |
| ivA        |   |  ivB         |
|            |   |              |
+------------+---+--------------+

并且我已经像这样设置onTouchListener

    ivA.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent event) {

            int action = event.getAction();
            int idx = event.getPointerId(event.getActionIndex());

            Log.i(TAG, "PRESSED ivA: " + action + " - IDX " + idx);
        }
    }

然后我做这些动作:

  • 用左手拇指按ivA(然后按住)
  • 右手拇指按ivB

我的期望:

  • 在ivA(指针ID 0)上获取ACTION_DOWN事件,然后在ivB上获取ACTION_DOWN(指针ID 1)

我得到了什么:

  • 在ivA上获取ACTION_DOWN事件(指针ID 0)然后我在ivA上获得ACTION_MOVE事件(指针ID 0)

我猜触摸屏驱动程序认为左手指向右移动而不是用第二根手指检测到第二次触摸。

在您看来更新我的软件是否可以解决问题?

更新: 我忘了说我试图扩大ivA和ivB之间的空白区域,它按预期工作。如果两次点击足够远,那么驾驶员就不会惹事。

0 个答案:

没有答案