【发布时间】:2012-09-26 22:52:33
【问题描述】:
我必须实现一个two fingers tap.
例如,我有一个包含多个项目的 listView,它已经为每一行和触摸侦听器设置了一个点击侦听器。现在,如果用户将两根手指连续放在一起,我必须做一些事情。
我该怎么做?
欢迎提出任何建议。
【问题讨论】:
-
你看过Gesture api吗?
标签: android multi-touch
我必须实现一个two fingers tap.
例如,我有一个包含多个项目的 listView,它已经为每一行和触摸侦听器设置了一个点击侦听器。现在,如果用户将两根手指连续放在一起,我必须做一些事情。
我该怎么做?
欢迎提出任何建议。
【问题讨论】:
标签: android multi-touch
我相信只有gesture API 只支持单点触控。
您基本上必须覆盖`onTouchEvent,并使用 e.getPointerCount() 并检查 ACTION_POINTER_DOWN 和 ACTION_POINTER_UP 之间的时间。您可能还会想到两个触摸实际上不是同时发生或同时离开屏幕的情况。
【讨论】:
不知道你说的两指点按是什么意思。如果您的意思是双击(一根手指,两下),我建议这样做:
http://mobile.tutsplus.com/tutorials/android/android-gesture/
但如果您指的是 2 个不同的手指点击一次,则不建议使用 2 个手指点击,因为它违反了 Android 设计准则。如果有的话,建议长按,这可以很容易地实现覆盖 onLongClick() 方法。
但如果你真的不想听我的话,因为你认为我很愚蠢。您基本上需要实现自己的多点触控手势。这是一个例子:
仅供参考,请注意您要支持的安卓版本。
【讨论】: