Android实现TextView展示Html图文混排,点击图片放大,左右滑动展示所有图片,点击图片缩回。
做项目遇到了这个需求,在网上找了一圈也是七零八凑,最终做起来了,这里记录一下。
用的方法还是 txt.setText(Html.fromHtml(""));
首先,定义一个MImageGetter类,支持图文Html,代码如下
public class MImageGetter implements Html.ImageGetter {
Context c;
TextView container;
public MImageGetter(TextView text, Context c) {
this.c = c;
this.container = text;
}
public Drawable getDrawable(String source) {
final LevelListDrawable drawable = new LevelListDrawable();
GlideApp.with(c).asBitmap().load(source).into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<?
super Bitmap> transition) {
if (resource != null) {
BitmapDrawable bitmapDrawable = new BitmapDrawable(resource);
drawable.addLevel(1, 1, bitmapDrawable);
drawable.setBounds(0, 0, resource.getWidth(), resource.getHeight());
drawable.setLevel(1);
container.invalidate();
container.setText(container.getText());
}
}
});
re