Glide 显示圆形头像

1.事例代码

ImageLoader.displayCircle(iv_head, data.getHeadimgurl(), false, ctx);

2.工具类代码



import android.app.Activity;
import android.content.Context;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;

import android.view.View;
import android.widget.ImageView;

import androidx.annotation.DrawableRes;

import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.bumptech.glide.load.engine.DiskCacheStrategy;

import jp.wasabeef.glide.transformations.CropCircleTransformation;

/**
 * Created by codeest on 2016/8/2.
 */
public class ImageLoader {
    
    public static void load(Context context, String url, ImageView iv) { //使用Glide加载圆形ImageView(如头像)时,不要使用占位图
        Glide.with(context).load(url).crossFade().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(iv);
    }
    
    /**
     * 加载本地图片
     * @param context
     * @param resId
     * @param imageView
     */
    public static void loadLocal(Context context, int resId, ImageView imageView) {
        Glide.with(context).load(resId).into(imageView);
    }
    
    public static void load(Context context, String url, ImageView iv, @DrawableRes int placeholder) { //使用Glide加载圆形ImageView(如头像)时,不要使用占位图
        Glide.with(context)
                .load(url)
                .crossFade()
                .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                .placeholder(placeholder)
                .into(iv);
    }
    
    public static void load(Activity activity, String url, ImageView iv) { //使用Glide加载圆形ImageView(如头像)时,不要使用占位图
        if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN_MR1) {
            if (!activity.isDestroyed()) {
                Glide.with(activity).load(url).crossFade().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(iv);
            }
        }
        else {
            Glide.with(activity).load(url).crossFade().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(iv);
        }
    }
    
    public static void loadAll(Context context, String url, ImageView iv) { //不缓存,全部从网络加载
        Glide.with(context)
                .load(url)
                .crossFade()
                .skipMemoryCache(true)
                .diskCacheStrategy(DiskCacheStrategy.NONE)
                .into(iv);
    }
    
    public static void loadAll(Activity activity, String url, ImageView iv) { //不缓存,全部从网络加载
        if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN_MR1) {
            if (!activity.isDestroyed()) {
                Glide.with(activity)
                        .load(url)
                        .crossFade()
                        .skipMemoryCache(true)
                        .diskCacheStrategy(DiskCacheStrategy.NONE)
                        .into(iv);
            }
        }
        else {
            Glide.with(activity)
                    .load(url)
                    .crossFade()
                    .skipMemoryCache(true)
                    .diskCacheStrategy(DiskCacheStrategy.NONE)
                    .into(iv);
        }
    }
    
    public static void clear(Context context, View view) {
        Glide.clear(view);
    }


    /**
     * 展示圆形图片
     * @param imageView
     * @param uri
     * @param cache 缓存
     */
    public static void displayCircle(ImageView imageView, String uri,boolean cache,Context ctx){
        try {
            if (imageView != null) {
                Glide.with(ctx).load(uri)
                        .skipMemoryCache(cache?false:true)
                        .diskCacheStrategy(cache?DiskCacheStrategy.RESULT:DiskCacheStrategy.NONE)
                        .bitmapTransform(new CropCircleTransformation(ctx))
                        .error(R.color.gray)
                        .crossFade()
                        .thumbnail(0.5f)
                        .priority(Priority.HIGH)
                        .into(imageView);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 展示圆形图片
     * @param imageView
     * @param uri
     * @param cache 缓存
     */
    public static void displayCircle(ImageView imageView, @DrawableRes int uri, boolean cache,Context ctx){
        try {
            if (imageView != null) {
                Glide.with(ctx).load(uri)
                        .skipMemoryCache(cache?false:true)
                        .diskCacheStrategy(cache?DiskCacheStrategy.RESULT:DiskCacheStrategy.NONE)
                        .bitmapTransform(new CropCircleTransformation(ctx))
                        .error(R.color.colorPrimary)
                        .crossFade()
                        .thumbnail(0.5f)
                        .priority(Priority.HIGH)
                        .into(imageView);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


}

3.添加编译的库 

api 'jp.wasabeef:glide-transformations:2.0.1'
    api 'com.github.bumptech.glide:glide:3.7.0'

4.Glide 4.11.0 加载圆形图片 

不需要加载其他的第三方库  

/**
     * 展示圆形图片
     *
     * @param imageView
     * @param uri
     * @param cache     缓存
     */
    public static void displayCircle(ImageView imageView, String uri, boolean cache, Context ctx) {
        try {
            if (imageView != null) {
                Glide.with(ctx).load(uri)
                        .skipMemoryCache(cache ? false : true)
                        .diskCacheStrategy(cache ? DiskCacheStrategy.RESOURCE : DiskCacheStrategy.NONE)
                        .apply(RequestOptions.bitmapTransform(new CircleCrop()))
                        .error(R.color.gray)
                        .thumbnail(0.5f)
                        .priority(Priority.HIGH)
                        .into(imageView);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值