android - 如何在屏幕上拖动时引发事件

发布于 2024-12-18 15:09:46 字数 107 浏览 0 评论 0原文

场景:我有 3 个图像视图,将它们称为 A、B 和 B。 C. 这些在屏幕上一个接一个(串联)放置。现在,如果我将手指从 A 拖动到 C,图像视图 B 的事件应该引发。 请建议。

谢谢

Scenario: I have 3 imageviews,call these as A,B & C. these are placed one after the another(in series) on the screen. now if i drag my finger from A to C, event of imageview B should raise.
Please suggest.

Thanks

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

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

发布评论

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

评论(2

桃酥萝莉 2024-12-25 15:09:46

使用 GestureDetector 并提供从 A 拖动到 C 的数学。然后当 MotionEvent 发生时,执行该事件。

Use a GestureDetector and supply the Maths of dragging from A to C. Then when that MotionEvent occurs, perform the event.

飘然心甜 2024-12-25 15:09:46

您需要处理触摸事件(覆盖ViewonTouchEventsetOnTouchListener;或覆盖onTouchEvent code>Activity),然后执行以下操作:

  1. getActionMasked 并检查 ACTION_DOWN。设置一个标志,例如 isDown = true
  2. getActionMasked 并检查 if(isDown && getActionMasked() == ACTION_MOVE) 并执行您的操作工作。
  3. 此外,在多点触控模式下,您可能需要 getPointerCount 来处理多个 ACTION_DOWN 事件。

You'll need to handle the touch event (override onTouchEvent or setOnTouchListener of View; or override onTouchEvent of Activity), and do the following:

  1. getActionMasked and check for ACTION_DOWN. Set a flag, say, isDown = true
  2. getActionMasked and check if(isDown && getActionMasked() == ACTION_MOVE) and do your work.
  3. Additionally in multi-touch mode, you may want to getPointerCount to handle multiple ACTION_DOWN events.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文