【问题标题】:Diasbling onTouchListener at some of the hotspots of html pagehtml页面部分热点禁用onTouchListener
【发布时间】:2012-05-30 10:09:39
【问题描述】:

在我的项目中,我有一个 WebView,它显示一个 html 页面。在那个 html 页面中使用 javascript 已经创建了热点,因此在点击热点时会弹出通知。在我的本机代码中已经实现了 onTouchListenerthis 。现在我真正需要的是,OnTouchListener 不能工作或不应在热点上进行触摸事件。

谁能帮我解决这个问题?

【问题讨论】:

  • 你问的是 JavaScript 还是 Java?
  • 还有,你的onTouchListener是做什么的?

标签: javascript android touch-event


【解决方案1】:

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

好的。当触摸发生时,您的onTouchListener 将传递一个包含触摸详细信息的事件对象……特别是clientXclientY,它们表示触摸本身的坐标。

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

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

【讨论】:

  • 感谢您的回答。我在Android 的上下文中提出了这个问题,其中包括HTML 具有Javascript 的页面。您的建议也可以在Android 中完成。但问题是我有n 个HTML 热点位置不同的页面。希望您理解我的问题...如果您有任何想法,请分享也可以在HTMLJavascript 中实现这一点。我的意思是广义结果。感谢您的帮助
【解决方案2】:

您是否需要 Android 端的 onTouchListener?如果没有,就不要实现它,所有的触摸事件都会到达WebView,最后到达你的网页。

【讨论】:

    【解决方案3】:

    经过多次尝试和脑筋急转弯终于找到了问题的答案。

    解决方法在于从HTML调用OntouchListener函数,无法通过 Android.

    感谢您的帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-04
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多