检查是否执行了 MotionEvent.ACTION_MOVE

发布于 2024-10-12 01:29:27 字数 176 浏览 5 评论 0原文

我在 opengl ES 中制作了一个带有覆盖层的按钮,就像谷歌地图一样;我希望我的按钮在点击时显示叠加层,并在再次点击按钮时将其关闭。问题是,如果用户点击按钮并在图像周围拖动,则叠加层仍然会关闭。有没有办法确定在事件过程中是否执行了 ACTION_MOVE?这样我可以将其设置为仅在未检测到 ACTION_MOVE 时关闭/打开。谢谢。

Im making a button in opengl ES that has an overlay with it, like google maps; I want my button to show the overlay when hit and turn it off when the button is hit again. The problem is if the user hits the button and drags around the image then the overlay still turns off. Is there a way to determine if an ACTION_MOVE was performed during the course of the event? that way i can set it to only turn off/on if ACTION_MOVE wasn't detected. Thanks.

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

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

发布评论

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

评论(1

白昼 2024-10-19 01:29:27

如果我理解,您可以像这样设置按钮:

 public void onTouch(View args, MotionEvent ev) {
      if (ev.getAction() == MotionEvent.ACTION_DOWN) doButtonStuff();
      if (ev.getAction() == MotionEvent.ACTION_UP) doOtherButtonStuff();
 }

只需使用触摸侦听器,而不是单击侦听器。

~伊顿

If I understand, you set your button up like this:

 public void onTouch(View args, MotionEvent ev) {
      if (ev.getAction() == MotionEvent.ACTION_DOWN) doButtonStuff();
      if (ev.getAction() == MotionEvent.ACTION_UP) doOtherButtonStuff();
 }

Just use a touch listener, not a click listener.

~Aedon

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