Glide工具类

public class GlideUtil {

    ImageView imageView;
    private DiskCacheStrategy diskCache = DiskCacheStrategy.ALL;//磁盘缓存
    private boolean isSkipMemoryCache = false;//禁止内存缓存

    public GlideUtil attach(ImageView imageView) {
        this.imageView = imageView;
        return this;
    }

    public GlideUtil injectImage(String url) {
        Glide.with(imageView.getContext())
                .load(url)
                .centerCrop()
                .diskCacheStrategy(diskCache)
                .skipMemoryCache(isSkipMemoryCache)
                .placeholder(R.mipmap.ic_icon_loading)
                .crossFade()
                .into(imageView);
        return this;
    }

    public GlideUtil injectImageWithNull(String url) {
        Glide.with(imageView.getContext())
                .load(url)
                .centerCrop()
                .diskCacheStrategy(diskCache)
                .skipMemoryCache(isSkipMemoryCache)
                .placeholder(null)
                .crossFade()
                .into(imageView);
        return this;
    }

    public GlideUtil injectImageWithoutCache(String url) {
        Glide.with(imageView.getContext())
                .load(url)
                .centerCrop()
                .diskCacheStrategy(DiskCacheStrategy.NONE)
                .skipMemoryCache(isSkipMemoryCache)
                .placeholder(R.mipmap.ic_icon_loading)
                .crossFade()
                .into(imageView);
        return this;
    }

    public GlideUtil injectTarget(String url, Target target, Context context, @Nullable RequestListener
            requestListener) {
        Glide.with(context)
                .load(url)
                .asBitmap()
                .diskCacheStrategy(diskCache)
                .listener(requestListener)
                .into(target);
        return this;
    }

    public GlideUtil clearImage() {
        Glide.clear(imageView);
        imageView.setImageResource(R.mipmap.ic_icon_loading);
        return this;
    }

    public GlideUtil clearImage(int res) {
        Glide.clear(imageView);
        imageView.setImageResource(res);
        return this;
    }

    public void downloadImage(String url, Target target) {
        Glide.with(CookManApplication.getContext())
                .load(url)
                .asBitmap()
                .diskCacheStrategy(diskCache)
                .into(target);
    }

//    public static String getGlideCrashSize(){
//        try {
//            return FileUtil.getFormatSize(
//                    FileUtil.getFolderSize(
//                            new File(Glide.getPhotoCacheDir(YtSmartApplication.getContext()).getPath())
//                    )
//            );
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return "";
//    }
}

猜你喜欢

转载自blog.csdn.net/langxian_168/article/details/72881334
今日推荐