现在从服务器传回来的富文本不用textview显示了,改用webview显示,但是不想将传回来的字符串存成html网页,再用webview读取html网页。
经查找,可以这么办:
private void initWebview(String webData) {
<span style="white-space:pre"> </span>WebView wv = (WebView) findViewById(R.id.news_content);
<span style="white-space:pre"> </span>wv.loadDataWithBaseURL("file:///android_asset/", webData, "text/html", "utf-8", "");
}
用loadDataWithBaseURL()方法代替loadUrl()方法,加载字符串文件,就可以了。
加载完之后发现富文本中的图片很大呀,超过屏幕了,太丑了,优化一下:
private void initWebview(String webData) {
WebView wv = (WebView) findViewById(R.id.news_content);
WebSettings webSettings= wv.getSettings();
webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //这句话将图片缩放至屏幕宽度,非常好嘛
wv.loadDataWithBaseURL("file:///android_asset/", webData, "text/html", "utf-8", "");
}
参考文章:
http://bbs.csdn.net/topics/350247520
http://www.oschina.net/code/snippet_779068_24773