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();}}

Glide 显示圆形头像相关推荐

  1. Android -- 显示圆形头像

    一. 前言 这章将从相册和拍照获取图片,并显示成圆形图片. 二. 准备 首先需要做一个圆形的显示区域,我用的是CircleImageView开源库 CircleImageView源码地址:https: ...

  2. android 缺半圆形头像,Android 自定义Glide实现圆形头像效果(圆角,正常,黑白,圆形效果)...

    /** * Glide 图片加载工具类 */ /** * diskCacheStrategy参数补充 * * DiskCacheStrategy.NONE 表示不缓存任何内容. * * DiskCac ...

  3. Andorid显示圆形图片的4种方式

    这篇博客主要讲解了Android实现圆形图片的4种方式. Android中并没有一个原生的控件,可以显示圆形或圆角图片,因此需要我们自己去定义这样一个控件. 实现圆形/圆角图片的核心思想,就是按照一定 ...

  4. Flutter的圆形头像四种简单用法

    文章目录 一.ClipOval 二.CircleAvatar 三.ClipRRect 四.Container+BoxDecoration 一.ClipOval 该方式属于绘图功能,只能简单的显示圆形头 ...

  5. iOS---头像选取(照相或者图片库)、大小等比缩放、生成圆形头像

    转载自:http://www.lvtao.net/ios/509.html //弹出actionsheet.选择获取头像的方式 //从相册获取图片 -(void)takePictureClick:(U ...

  6. iOS实现头像选取(照相或者图片库)、大小等比缩放、生成圆形头像

    <span class="comment">//弹出actionsheet.选择获取头像的方式</span> <span class="co ...

  7. android分析之自定义圆形头像

    package de.hdodenhof.circleimageview; public class CircleImageView extends ImageView { private stati ...

  8. 圆形头像的7种显示方法

    牙叔教程 简单易懂 效果展示 环境 手机: Mi 11 Pro Android版本: 11 Autojs版本: 9.0.11 图片形状: 正方形 圆形头像的7种显示方法 第1种: 使用Shapeabl ...

  9. ios 裁剪圆形头像_iOS 裁剪圆形图像并显示(类似于微信头像)

    本文主要讲解如何从照片库选择一张照片后将其裁剪成圆形头像并显示,类似于微信头像那种模式. 本文的方法也适用于当时拍照获取的图像,方法类似,所以不再赘述. 本文主要是在iOS 10环境下使用,此时如果要 ...

  10. ios 裁剪圆形头像_详解iOS 裁剪圆形图像并显示(类似于微信头像)

    本文主要讲解如何从照片库选择一张照片后将其裁剪成圆形头像并显示,类似于微信头像那种模式. 本文的方法也适用于当时拍照获取的图像,方法类似,所以不再赘述. 本文主要是在iOS 10环境下使用,此时如果要 ...

最新文章

  1. python增删改查的框架_简单的Django框架增删改查操作
  2. pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行
  3. spring框架学习(三)
  4. shell-extension
  5. 判断frame是否已创建_大白菜的ROS笔记(8)(创建TF广播和监听,内容很多,细节满满)...
  6. 获取两个数据的交集_MySQL交集和差集的实现方法
  7. 翘首以盼Windows 8
  8. Redies安装,修配置,设置密码,
  9. Web安全之SQL注入攻击技巧与防范
  10. 快速获得Google Chrome最新版本
  11. 防163网易邮箱登录界面html,网易邮箱163,网易邮箱163登录界面
  12. Autoencoder理解(2): 自动编码器的作用之稀疏编码
  13. Delphi FastReport组件下载,包含多个版本,自己选择
  14. 栈——后进先出(LIFO:last in first out)
  15. 阿里研究员玄难:如何做电商中台
  16. 重签名ipa步骤及工具
  17. 2023浙江工业大学计算机考研经验贴
  18. 你听说过FOC吗?FOC的原理是什么?
  19. 抛出一个问题? Mysql环境下进行Count操作执行的时候速度很慢_需手动给主键添加索引---MySql优化001
  20. PAT 甲级 1011 World Cup Betting

热门文章

  1. NLP一些常见的专有名词
  2. HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)
  3. doctrine2 mysql_Hello Doctrine2
  4. 【开发环境搭建】7. Vscode使用SFTP远程文件同步
  5. 史上最全recyclewView集合,下拉刷新,上拉加载,左滑删除,点击按钮滑动到指定位置
  6. layim之整合WebSocket即时通讯
  7. JVM进阶(六)——鲜为人知的二次标记
  8. OSPF的6种LSA
  9. 20.P153课后习题6-13 背包问题。设有一个背包可以放入物品的重量为s,现有n件物品,重量分别为w[0],w[1],...w[n-1]。问题是能否从这n件物品中选择若干件放入此背包中使得放入的重
  10. 机器学习之手写数字图片数据处理及识别