WebView加載數(shù)據(jù)有兩種方式孵班,一種是直接根據(jù)一個url來加載一個網(wǎng)頁,另一種是只加載一段html文本深碱,兩種方法各有利弊。
如果是加載的html文本很簡單藏畅,對排版的要求不高敷硅,那么使用loadData比較好,畢竟只是很省流量的方式愉阎,而且還可以將數(shù)據(jù)保存在本地绞蹦,做離線緩存。
如果排版比較復雜榜旦,還是用loadUrl吧幽七,雖然loadUrl需要消耗更多的流量,也不好做離線緩存溅呢,但是loadUrl充分發(fā)揮了webview的優(yōu)勢澡屡,試想如果用loadData這種方式猿挚,為什么不直接用TextView,TextView也可以支持有限的html標簽驶鹉,再自己擴展下绩蜻,已經(jīng)足夠用了。
其實讓我選擇loadUrl的原因還有一個室埋,那就是在使用loadData的時候遇到了渲染的問題辜羊,字體有時候看起來很小。
但是使用loadUrl需要特別注意里面的鏈接的問題词顾,當點擊一個鏈接的時候八秃,默認會讓瀏覽器來打開這個鏈接,可以通過如下代碼來讓鏈接在WebView中打開肉盹。
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
當然使用loadData也許并沒有我說的那么不堪昔驱,也可能是我自己的水平問題。