Skip to content

自定义图片加载器

zzhoujay edited this page Nov 17, 2017 · 5 revisions

目前提供两种图片加载器:DefaultImageGetterGlideImageGetter

DefaultImageGetter

集成在RichText库中,为默认使用加载器(需要设置图片下载器才能进行图片的下载)

支持的Cache类型

  • Cache.NONE : 不进行缓存
  • Cache.LAYOUT : 缓存文本样式及图片大小信息
  • Cache.ALL : 在LAYOUT基础上增加了对图片的缓存

支持Gif图片

支持本地图片

支持自定义图片下载器

RichText提供了一个使用HttpUrlConnection实现的DefaultImageDownloader,除此之外也提供一个OkHttp简单实现的图片下载器:OkHttpImageDownloader

compile 'com.zzhoujay.okhttpimagedownloader:OkHttpImageDownloader:1.0.2'

添加依赖后会自动使用OkHttpImageDownloader

若是需要自定义图片下载器可以通过:

RichText
  .from(xxx)
  .imageDownloader(yourImageDownloader)
  .into(textView);

其中的yourImageDownloader需要实现com.zzhoujay.richtext.ig.ImageDownloader接口

GlideImageGetter

使用Glide加载图片,因Glide自身有自己的缓存系统,固不支持Cache.ALL类型缓存,未集成在RichText库中,需手动引入

compile 'com.zzhoujay.glideimagegetter:glideimagegetter:1.0.5'

支持的Cache类型

  • Cache.NONE : 不缓存
  • Cache.LAYOUT : 缓存文本样式及图片大小信息

支持Gif图片

支持本地图片

自定义ImageGetter

实现com.zzhoujay.richtext.callback.ImageGetter接口

注意

自定义ImageGetter返回的是一个Drawable对象,需要包含尺寸信息(即setBounds已设置),缓存和其它的也需要自行处理

RichText.from(text).imageGetter(yourImageGetter).into(textView);

Clone this wiki locally