Skip to content

XImage第三方图片框架隔离

Spring edited this page Aug 14, 2017 · 3 revisions

1、它的产生与注意事项

在众多图片加载框架中,我们的存在是为了全局配置,方便替换。

  • 如果想使用XRecyclerViewAdapter直接加载图片链接,需要配置xImage
  • 由于Fresco是直接在布局文件使用,所以无法兼容到,Picasso,Glide,xutils等等通过代码实现的都能应用到

2、初始化 XImage 配置?

public class App extends XApplication {
    @Override
    public void onCreate() {
        super.onCreate();
       /**
         * 初始化全局图片加载框架
         * GlideImageLoader为你的图片加载框架实现类(你可以自行实现,这里就是共glide举例)
         */
        XFrame.initXImageLoader(new GlideImageLoader(getApplicationContext()));
    }
}

3、调用方法

XImage.getInstance().load(view,imageUrl);
XImage.getInstance().load(view,imageUrl,defaultImage);

4、自定义ImageLoader,这里用glide举例

public class GlideImageLoader implements ImageLoader {

    private Context mContext;

    public GlideImageLoader(Context context) {
        this.mContext=context;
    }

    @Override
    public void load(ImageView imageView, Object imageUrl) {
        Glide.with(mContext)
                .load(imageUrl)
                .crossFade()
                .into(imageView);
    }

    @Override
    public void load(ImageView imageView, Object imageUrl, int defaultImage) {
        Glide.with(mContext)
                .load(imageUrl)
                .crossFade()
                .placeholder(defaultImage)
                .into(imageView);
    }
}