Android ImageView 可点击叠加层

发布于 2024-08-28 15:22:52 字数 225 浏览 11 评论 0原文

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

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

目标是获得带有一些叠加层的图像,并且该图像应该是可点击的。我考虑过 AbsolutLayout,但它已被废弃,那么现在怎么办?

感谢您的帮助。

I have a ImageView and draw some things on that view. Now I want to have the position of the click in the onClickListener.

Although I think that's not really possible (storing the position in the onTouchListener is not working), I want to ask, if there is any other way to accomplish that?

The goal is to have a image with some overlays, that should be clickable. I thought about AbsolutLayout, but that is depracated, so what now?

Thx for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

野生奥特曼 2024-09-04 15:22:52

在 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方法..它执行它所说的操作:)。

Storing position in onTouchListener should work. Did you return false in your onTouchListener ? If you return true, the onClick will never be called. Also note that click can be performed on android without using touch functionality on the device in example by using hardware button. In my opinion you should not use onClickListener for what you're doing, instead handle everything from onTouchListener by handling ACTION_UP as your click event.

Code for android onClick implementation can be found here:
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 check the onTouchMethod, it calls performClick method.. which does what it says it does :).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文