android - 如何在屏幕上拖动时引发事件
场景:我有 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 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.您需要处理触摸事件(覆盖
View
的onTouchEvent
或setOnTouchListener
;或覆盖onTouchEvent
code>Activity),然后执行以下操作:getActionMasked
并检查ACTION_DOWN
。设置一个标志,例如isDown = true
getActionMasked
并检查if(isDown && getActionMasked() == ACTION_MOVE)
并执行您的操作工作。getPointerCount
来处理多个ACTION_DOWN
事件。You'll need to handle the touch event (override
onTouchEvent
orsetOnTouchListener
ofView
; or overrideonTouchEvent
ofActivity
), and do the following:getActionMasked
and check forACTION_DOWN
. Set a flag, say,isDown = true
getActionMasked
and checkif(isDown && getActionMasked() == ACTION_MOVE)
and do your work.getPointerCount
to handle multipleACTION_DOWN
events.