获取任意点的HitTestResult

时间:2013-02-12 00:19:00

标签: android android-webview hittest

我希望能够找出WebView中任意(x,y)点处的对象,最好不要在页面上做任何改变。我正在为Android开发一个辅助功能应用程序,在链接激活之前需要识别链接的目标;长期坚持链接(遗憾的是)不是一种选择。

getHitTestResult基本上完成了我想要的,但仅适用于当前的“游标节点”。我找不到任何关于这个“光标节点”的文档,但我怀疑它需要触摸事件出现在目标点。

1 个答案:

答案 0 :(得分:0)

无法从点中查找节点元素,但如果要在Webview上覆盖链接点击的事件功能,则可以执行以下操作:

使用setWebViewClient方法向您的Web视图添加WebViewClient。 然后覆盖shouldOverrideUrlLoading()方法并检查给定目标网址

提示:如果它返回true,则不会加载该URL,因为这意味着您的本机应用正在处理它。

代码示例:

 webview.setWebViewClient(new WebViewClient() {
         public boolean shouldOverrideUrlLoading(WebView view, String url) {
              if (isUrlGood(url))
                  return false; //the webview can load the url
              else
                  return true; //avoid the webview from loading this url
         }
 });