2010-04-14 155 views
0

我有一个ImageView并在该视图上绘制一些东西。现在我想要在onClickListener中获得点击的位置。Android ImageView可点击覆盖

虽然我认为这不是真的可能(在onTouchListener中存储位置不起作用),但我想问一下,是否有其他方法可以实现这一点?

目标是让图片有一些叠加层,应该是可点击的。我想过AbsolutLayout,但是这是亵渎,那么现在呢?

Thx寻求帮助。

回答

2

在onTouchListener中存储位置应该可以工作。你在onTouchListener中返回false了吗?如果您返回true,那么onClick将永远不会被调用。还要注意,点击可以在Android上执行,而不使用设备上的触摸功能,例如使用硬件按钮。在我看来,你不应该使用onClickListener来处理你正在做的事情,而是通过处理ACTION_UP作为你的点击事件来处理onTouchListener中的所有事情。

Android onClick实现代码可以在这里找到: http://www.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/java/android/view/View.java&q=android.view.View.java&sa=N&cd=1&ct=rc检查onTouchMethod,它调用performClick方法..它做它说它做:)。

+0

这是一个简单的触摸事件的一个复杂的例子! :P看到这个简单的onTouchEvent的其他问题:http://stackoverflow.com/questions/2609114/android-beginner-understanding-motionevent-actions/2609435#2609435 – 2010-04-14 10:16:02

+0

Thx为您的答案。我现在正在处理onTouch方法中的点击,但是听ACTION_DOWN而不是ACTION_UP,这对我来说工作正常。 – Masala 2010-04-14 10:22:12