2011-01-28 106 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