刚开始以为是WebView,后来发现被坑了。不断在https://impress.pw寻找,找到http://stackoverflow.com/questions/25194549/using-picasso-with-image-getter

问题解决,贴一下源码:

public class PicassoImageGetter implements Html.ImageGetter {    private TextView textView = null;    public PicassoImageGetter(TextView target) {        textView = target;    }    @Override    public Drawable getDrawable(final String source) {        BitmapDrawablePlaceHolder drawable = new BitmapDrawablePlaceHolder();        Picasso.with(ShopApp.GLOBAL_CONTEXT)                .load(source)                .placeholder(R.drawable.item_defaut_img)//                .error(R.drawable.)                .into(drawable);        return drawable;    }    class BitmapDrawablePlaceHolder extends BitmapDrawable implements Target {        protected Drawable drawable;        @Override        public void draw(final Canvas canvas) {            if (drawable != null) {                drawable.draw(canvas);            }        }        public void setDrawable(Drawable drawable) {            this.drawable = drawable;            drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());            setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());            if (textView != null) {                textView.setText(textView.getText());            }        }        @Override        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {            setDrawable(new BitmapDrawable(ShopApp.GLOBAL_CONTEXT.getResources(), bitmap));        }        @Override        public void onBitmapFailed(Drawable errorDrawable) {            setDrawable(errorDrawable);        }        @Override        public void onPrepareLoad(Drawable placeHolderDrawable) {        }    }}

调用非常简单:

 contentView.setText(Html.fromHtml(dto.content, new PicassoImageGetter(contentView), null));

更多相关文章

  1. android 源码和兼容包
  2. Android中的SharedPreference源码整理总结
  3. android可视化视图无法显示layout控件
  4. Android底层开发(一)Android源码编译
  5. Android源码开发中单个模块的编译自动化
  6. android系统移植琐碎知识整理:
  7. android TV开发:弹出菜单实现
  8. 2013最新Android常用的工具类整理
  9. Android(安卓)源码编译环境流程

随机推荐

  1. 仿jd手机端
  2. grid仿PHP中文网首页
  3. JS的引入方式
  4. 懒加载及轮播图
  5. JQuery 常用方法
  6. 定位原理、模态框以及三列布局
  7. 作业_0706
  8. 前端作业-07-09
  9. 通过canvas作图片缓存
  10. uniapp H5图片上传压缩自动旋转