2011-01-28 66 views
0

有谁知道如何修改WebView显示自动链接文本(电话号码,地址等)的视觉样式吗?或者更具体地说,我可以让WebView检测到的链接看起来像标准的可点击超链接吗?例如,Android WebView:更改自动链接显示

webView.loadData("My phone number is 3035555555", "text/html", "utf-8"); 

这将加载文本到的WebView,它是点击,但它只是看起来像正文的其余部分。我也尝试将文本放入资产中的HTML文件中,并且这样做

webView.loadUrl("file:///android_asset/Test.html"); 

但是,得出了相同的结果。 WebSettings或WebViewClient中是否存在控制我缺少的这种行为的东西?

干杯。

+0

看来这也是浏览器应用程序中的默认行为,看起来这是预期的效果。我已经在这个问题上提出了一个错误,随时给它明星! http://code.google.com/p/android/issues/detail?id=14412 – Devunwired 2011-04-05 12:25:53

回答

1

你可以这样做来得到你想要的东西。

 
String header = "< ?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; 
String data = "< html>< body>< a href='tel:555-5599'>508-776-5510
" "< /body>< /html>";

mWebView.loadData(header+data, "text/html", "UTF-8");

+0

你说得对,我们可以(并且确实)预先链接任何我们知道的文字,但这并不总是动态内容是可能的,并且实际上破坏了自动链接检测的目的。希望Google有朝一日能在更多的定制方面解决这个问题。 – Devunwired 2011-05-21 13:03:22

0

试试这个.....

String header = "< ?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; 
String data = "< html>< body>< a href='tel:555-5599'>508-776-5510 
" "< /body>< /html>"; 
mWebView.loadData(header+data, "text/html", "UTF-8"); 

如果您加载HTML文本的字符串转换成web视图。然后你可以使用

mWebView.loadData(header + data,“text/html”,“UTF-8”);

如果你有一个html文件。然后你可以使用

webView.loadUrl( “文件:///android_asset/mypage.html”):

注:不要忘记把你的HTML文件在您的资产文件夹中。

干杯! :D