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代码之间进行一些通信以恢复它。。。