在我的项目中,我有一个显示 html 页面的 WebView。在那个使用 javascript 的 html 页面中创建了热点,以便点击热点通知弹出。在我的 native 代码中实现了 onTouchListenerthis 。现在我真正需要的是,OnTouchListener 不能工作或不应该采取触摸事件热点。

任何人都可以帮我解决这个问题吗?

最佳答案

现在,我可能有这个倒退......但从你的问题听起来你 不希望 onTouchListener 在热点被触摸时生效......只有在热点之外的区域被触摸时。如果情况相反,只需反转下面的条件。

好的。当触摸发生时,您的 onTouchListener 会被传递一个包含触摸细节的事件对象......特别是 clientXclientY ,它们代表触摸本身的坐标。

在这个监听器中,如果上面的触摸坐标不在您的热点中,您将只执行所需的代码。如果是我,我会将每个热点建模为一个正方形,其中 x1x2y1y2 代表 Angular 点的坐标。然后监听器在热点上循环检查( clientXx1x2 之间,并且 clientYy1y2 之间)。如果在循环中的任何点此条件为真,则您的触摸发生在热点内,因此您的监听器应返回 false 或以其他方式退出而不执行您的特殊代码。

编辑 :我想我误解了你的问题。也许你根本就没有问过 JavaScript ......

关于javascript - 在html页面的一些热点禁用onTouchListener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10814206/

10-12 01:12