Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android MotionEvent:查看运动是否发生在视图之外大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个按钮和OnTouchListener附加到它.如何查找运动(当用户按下按钮时)是在内部还是外部发生? event.getAction()和event.getActionMasked()都只返回0,1或2,分别是ActionDown,ActionUp,ActionMove.有一个常量的MotionEvent.ACTION_OUTSIDE,它是4,但即使我在按钮外拖动触摸,我也不会收到它 – 我仍然从这两种方法中获得2.有什么问题?

UPD:我找到了很好的解决方案 – 只需在ACTION_UP之后检查焦点状态.如果它没有聚焦,则意味着移动发生在视图之外.

解决方法

该标志仅适用于 Windows,而不适用于视图.当您将手指移离视图时,您将获得ACTION_MOVE,该事件将保留在其@L_772_8@的视图中.如果您需要澄清,请查看SeekBar的源代码:即使您将手指从酒吧移开,拇指仍会拖动!

要在Window级别执行此操作,请使用FLAG_WATCH_OUTSIDE_TOUCH,它可以正常工作.

大佬总结

以上是大佬教程为你收集整理的Android MotionEvent:查看运动是否发生在视图之外全部内容,希望文章能够帮你解决Android MotionEvent:查看运动是否发生在视图之外所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。