Android textview获取html文字 + 图片显示

1、html元素

<p style="text-align: center;"><a href="http://news.klhpw.com/batch.download.php?aid=52756" target="_blank" title="Smurfit Kappa公司"><img src="http://news.klhpw.com/attachments/2014/03/65625_201403121600231dZAA.jpg" border="0" alt="Smurfit Kappa公司"></a></p><p><br></p><p>  Smurfit Kappa公司近日称,目前,为餐饮服务行业提供奶制品的公司对盒中袋包装的需求在逐步增长。零售业则存在着最大的增长空间。</p><p><br></p>

2、activity

package com.html.src.show;

import java.io.InputStream;
import java.net.URL;
import android.os.Bundle;
import android.text.Html;
import android.text.Html.ImageGetter;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.widget.TextView;
import android.app.Activity;
import android.graphics.drawable.Drawable;

public class MainActivity extends Activity {

	private TextView tvBody;
	String text;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		tvBody = (TextView) findViewById(R.id.tv_about_right);
		tvBody.setMovementMethod(new ScrollingMovementMethod());// textview上下拉
		//获取assets包下html.txt内容
		try {
			InputStream is = getAssets().open("html.txt");
			int size = is.available();
			byte[] buffer = new byte[size];
			is.read(buffer);
			is.close();
			text = new String(buffer, "UTF-8");
		} catch (Exception e) {
			e.printStackTrace();
		}
		//解析html
		ImageGetter imgGetter = new Html.ImageGetter() {
			public Drawable getDrawable(String source) {
				Log.i("RG", "source---?>>>" + source);
				Drawable drawable = null;
				URL url;
				try {
					url = new URL(source);
					Log.i("RG", "url---?>>>" + url);
					// 获取网路图片
					drawable = Drawable.createFromStream(url.openStream(), ""); 
				} catch (Exception e) {
					e.printStackTrace();
					return null;
				}
				drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
				Log.i("RG", "url---?>>>" + url);
				return drawable;
			}
		};
		tvBody.setText(Html.fromHtml(text, imgGetter, null));
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值