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

答えて

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

0

あなたはWebViewのにHTMLテキストの文字列をロードする場合は、この.....

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"); 

を試してみてください。次に、使用することができます

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

htmlファイルがある場合。そして、あなたは

webView.loadUrl( ":///android_asset/mypage.htmlファイル"):使用することができます

注:いけない、あなたの資産フォルダにHTMLファイルを置くことを忘れています。

乾杯! :D