htmlImage

Introduction: 有时候我们需要加载一段 HTML 文本,文本中有标签图片,如商品详情。那么怎么才能更好的显示图片呢,当然是用 UIL 开源库了,那怎么使用呢。这就是本示例想要展示的
More: Author   ReportBugs   DemoAPK   
Tags:

有时候我们需要加载一段 HTML 文本,文本中有标签图片,如商品详情。那么怎么才能更好的显示图片呢,当然是用 UIL 开源库了,那怎么使用呢。这就是本示例想要展示的

方法

textView.setText(Html.fromHtml(text,imageGetter,tagHandler);来加载 html 文本, imageGetter 需要返回 drawable 对象,那么可以重写 ImageGetter,即可。

URLImageGetter

public class URLImageGetter implements Html.ImageGetter{
    private String shopDeString;
    private TextView textView;
    Context context;
    private DisplayImageOptions options;
    public URLImageGetter(String shopDeString,Context context,TextView textView,DisplayImageOptions options) {
        this.shopDeString = shopDeString;
        this.context = context;
        this.textView = textView;
        this.options = options;
    }
    @Override
    public Drawable getDrawable(String source) {
        //解决 UIL 加载同一个 URL 图片时,导致下一个 task 被 cancel 掉的问题
        final URLDrawable urlDrawable = new URLDrawable();
        ImageSize imageSize = new ImageSize(480,320);
        NonViewAware nonViewAware = new NonViewAware(imageSize, ViewScaleType.CROP);
        ImageLoader.getInstance().displayImage(source,nonViewAware,options,new SimpleImageLoadingListener(){
            @Override
            public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
                super.onLoadingComplete(imageUri, view, loadedImage);
                urlDrawable.bitmap = loadedImage;
                urlDrawable.setBounds(0, 0, loadedImage.getWidth(), loadedImage.getHeight());
                textView.invalidate();
                textView.setText(textView.getText()); // 解决图文重叠
            }
        });
        return urlDrawable;
    }
}

image

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools