Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 获取任意点的HitTestResult_Android_Android Webview_Hittest - Fatal编程技术网

Android 获取任意点的HitTestResult

Android 获取任意点的HitTestResult,android,android-webview,hittest,Android,Android Webview,Hittest,我希望能够在WebView中的任意(x,y)点上找出什么对象,最好是在不引起页面上任何更改的情况下。我正在为Android开发一个可访问性应用程序,在激活链接之前需要确定链接的目标;很遗憾,长时间按链接不是一个选项 getHitTestResult基本上实现了我想要的功能,但只针对当前的“游标节点”。我找不到有关此“光标节点”的任何文档,但我怀疑它需要在目标点上显示触摸事件。这不是从点查找节点元素的方法,但如果要覆盖webview上的链接单击事件功能,可以执行以下操作: 使用setWebView

我希望能够在
WebView
中的任意(x,y)点上找出什么对象,最好是在不引起页面上任何更改的情况下。我正在为Android开发一个可访问性应用程序,在激活链接之前需要确定链接的目标;很遗憾,长时间按链接不是一个选项

getHitTestResult
基本上实现了我想要的功能,但只针对当前的“游标节点”。我找不到有关此“光标节点”的任何文档,但我怀疑它需要在目标点上显示触摸事件。

这不是从点查找节点元素的方法,但如果要覆盖webview上的链接单击事件功能,可以执行以下操作:

使用setWebViewClient方法向您的web视图中添加。 然后重写该方法并检查给定的目标url

提示:如果返回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
         }
 });

我需要在激活链接之前确定链接的目标。你是说在单击之前?这更像是一个javascript问题,用javascript实现它,并在webview和java代码之间进行一些通信以恢复它。。。