我希望能够弄清楚 a 中任意 (x,y) 点处的对象是什么WebView
,最好不会导致页面上的任何更改。我正在为 Android 开发一个可访问性应用程序,其中需要在激活链接之前识别链接的目标;长按链接(遗憾的是)不是一种选择。
getHitTestResult
基本上是我想要的,但仅适用于当前的“光标节点”。我找不到关于这个“光标节点”的任何文档,但我怀疑它需要一个触摸事件才能出现在目标点。
我希望能够弄清楚 a 中任意 (x,y) 点处的对象是什么WebView
,最好不会导致页面上的任何更改。我正在为 Android 开发一个可访问性应用程序,其中需要在激活链接之前识别链接的目标;长按链接(遗憾的是)不是一种选择。
getHitTestResult
基本上是我想要的,但仅适用于当前的“光标节点”。我找不到关于这个“光标节点”的任何文档,但我怀疑它需要一个触摸事件才能出现在目标点。
不是从一个点找到节点元素的方法,但如果你想覆盖 webview 上的链接单击事件功能,你可以这样做:
使用 setWebViewClient 方法将WebViewClient添加到您的 Web 视图。然后覆盖shouldOverrideUrlLoading()方法并检查给定的目标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
}
});