如果某个网页上有一个不是链接的网址或电话号码,则可以WebView识别该网页并自动将其转换为TextView之类的链接S'
使用TextView
,您只需将android:autoLink
设置为所需的设置:
<TextView
android:autoLink="web|phone"
... />
但我找不到WebView
的任何等效内容。
答案 0 :(得分:34)
如果您要从String加载自己的(Web)内容,那么您可以执行以下操作:
final String content = "My email is: firstname@email.com ...";
Spannable sp = new SpannableString(content);
Linkify.addLinks(sp, Linkify.ALL);
final String html = "<body>" + Html.toHtml(sp) + "</body>";
myWebView.loadData(html, "text/html", "utf-8");
答案 1 :(得分:2)
我不知道通过更改设置可以使这项工作的任何方法,但解决方法是等到网页完成加载然后执行:
yourWebView.loadUrl("javascript:(function(){ /* code that creates links */ })()");
这会将javaScript注入已加载的网页。 这里有一个稍长的例子:http://lexandera.com/2009/01/injecting-javascript-into-a-webview/。
如果您查看Greasemonkey的Linkify脚本源代码,可以找到用于创建链接的JavaScript源代码(如果您不熟悉它,它是Firefox的插件)。我相信它附带默认安装。