1.加载简单的html代码
textview.setText(Html.from(text));
2.加载图片显示,用的是imageloader加载图片,用as的可以直接在build.gradle里面加上
compile ‘com.nostra13.universalimageloader:universal-image-loader:1.9.5’
不过这个需要在程序入口初始化一下,否则会报错
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(this));
重写ImageGetter,加载图片
public class URLImageParser implements ImageGetter {
TextView mTextView;
public URLImageParser(TextView textView) {
this.mTextView = textView;
}
@Override
public Drawable getDrawable(String source) {
LogUtils.i("图片地址source:"+source);
final URLDrawable urlDrawable = new URLDrawable();
ImageLoader.getInstance().loadImage(source,
new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
urlDrawable.bitmap = loadedImage;
urlDrawable.setBounds(0, 0, loadedImage.getWidth(), loadedImage.getHeight());
mTextView.invalidate();
mTextView.setText(mTextView.getText());
}
});
return urlDrawable;
}
}
public class URLDrawable extends BitmapDrawable {
protected Bitmap bitmap;
@Override
public void draw(Canvas canvas) {
if (bitmap != null) {
canvas.drawBitmap(bitmap, 0, 0, getPaint());
}
}
}
在代码中设置一下就能显示图片了
URLImageParser imageGetter = new URLImageParser(textview);
textview.setText(Html.fromHtml('要解析的字符串', imageGetter, null));
3.设置图片的可点击事件,使用到的是Html.fromHtml中的第三个参数TagHandler
还是要重写一下咯
public class MyTagHandler implements Html.TagHandler {
private Context mContext;
public MyTagHandler(Context context) {
mContext = context.getApplicationContext();
}
@Override
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {