android中显示html

发布日期:2013-11-22 14:50:37

这里使用了两种方法,一种是使用webview显示,还有种是使用textview显示。



package com.example.newscontent;



import java.net.URL;


import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.view.Menu;
import android.webkit.WebView;
import android.widget.TextView;
import android.text.Html;
import android.text.Html.ImageGetter;




public class MainActivity extends Activity  {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

TextView lbHtml = (TextView) findViewById(R.id.lbHtml);
String text = "<a href='http://www.zhuzhusoft.com'>猪猪软件</a><BR><span><font color='#ff0000'>你好</font></span><BR><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我们都是上海人</p><span>你好</span><br>" +
"<div align=right><img src='http://www.zhuzhusoft.com/weixin.png'></div>";
lbHtml.setText(Html.fromHtml(text, imgGetter, null));

WebView webView = (WebView) findViewById(R.id.webView1);   
webView.loadDataWithBaseURL(null, text, "text/html",  "utf-8", null);
}


ImageGetter imgGetter = new Html.ImageGetter() {
        public Drawable getDrawable(String source) {
              Drawable drawable = null; // 显示网络图片
              URL url;  
              try {   
                  url = new URL(source);  
                  drawable = Drawable.createFromStream(url.openStream(), "");  
              } catch (Exception e) {  
                  return null;  
              } 
              
              //drawable = Drawable.createFromPath(source); //显示本地图片
              
              drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
                            .getIntrinsicHeight());
              return drawable; 
        }
};


}