无论MotionEvent目标如何,都可以调用按钮的onClick(...)回调

时间:2014-03-31 14:11:55

标签: android ontouchlistener

我正在努力实现以下功能:

我的ViewGroup中有N个按钮。

------------
| button 1 |
------------
| button 2 |
------------
|   ...    |
------------
| button N |
------------

用户按button 1MotionEvent.ACTION_DOWN),然后将手指移至button NMotionEvent.ACTION_MOVE),然后释放手指(MotionEvent.ACTION_UP)。< / p>

  1. 我想突出显示用户移动手指的任何按钮 (悬停时突出显示)
  2. 当用户在onClick(...)上发布手指时,我希望调用button N button N的回调
  3. 我尝试将onTouchListener设置为每个按钮,似乎首先触摸的按钮会收到所有3个提到的操作(MotionEvent.ACTION_DOWNMotionEvent.ACTION_MOVEMotionEvent.ACTION_UP)。

    我还想过通过覆盖按钮'{1}}的{​​{1}}方法来实现该功能。这可能是可能的,但似乎没有办法从onInterceptTouchEvent(MotionEvent)传递给ViewGroup方法检测子视图。

    您是否有任何提示实现所描述的功能?

1 个答案:

答案 0 :(得分:0)

我想要实现的实际上是一种使用标准小部件(例如Button)的“饼图菜单”或“径向菜单”。我没有使用标准小部件实现它,所以我自己实现了这个行为。如果有人需要类似的功能,这是一个灵感:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.2.2_r1/com/android/camera/ui/PieRenderer.java。链接中的代码是Google的相机应用程序中的代码,因为它使用“径向菜单”来控制相机设置。