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

工具类:


/**
 * Glide 图片加载工具类
 */

/**
 * diskCacheStrategy参数补充
 * 

* DiskCacheStrategy.NONE 表示不缓存任何内容。 *

* DiskCacheStrategy.DATA 表示只缓存原始图片。 *

* DiskCacheStrategy.RESOURCE 表示只缓存转换过后的图片。 *

* DiskCacheStrategy.ALL 表示既缓存原始图片,也缓存转换过后的图片。 *

* DiskCacheStrategy.AUTOMATIC 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。 */ public class GlideUtil { private static String TAG = "GlideUtil"; //加载失败 、占位 图片 private static final int errorImg = R.drawable.a_moren_fang; private static final int errorRoundImg = R.drawable.a_moren_yuanjiao; private static final int errorCircleImg = R.drawable.a_moren_yuan; /** * 正常 */ public static void load(Context context, String url, ImageView imageView) { if (context instanceof Activity) { if (((Activity) context).isDestroyed()) return; } RequestOptions options = new RequestOptions() .error(errorImg) .placeholder(errorImg); Glide.with(context) .load(url) .apply(options) .into(imageView); } /** * 圆形 */ public static void loadCircle(Context context, String url, ImageView imageView) { if (context instanceof Activity) { if (((Activity) context).isDestroyed()) return; } RequestOptions options = new RequestOptions() .error(errorCircleImg) .placeholder(errorCircleImg) .transforms(new CircleTransform()); Log.i(TAG, url); Glide.with(context) .load(url) .apply(options) .into(imageView); } /** * 加载成圆角 */ public static void loadRound(Context context, String url, ImageView imageView) { if (context instanceof Activity) { if (((Activity) context).isDestroyed()) return; } int r = (int) context.getResources().getDimension(R.dimen.dp_5); RequestOptions options = new RequestOptions() .error(errorRoundImg) .placeholder(errorRoundImg) .centerCrop() .transforms(new RoundTransform(context, r)); Log.i(TAG, url); Glide.with(context) .load(url) .apply(options) .into(imageView); } public static void loadRound(Context context, String url, ImageView imageView, @DimenRes int rRes) { if (context instanceof Activity) { if (((Activity) context).isDestroyed()) return; } int r; try { r = (int) context.getResources().getDimension(rRes); } catch (Exception e) { r = rRes; } RequestOptions options = new RequestOptions() .error(errorRoundImg) .placeholder(errorRoundImg) .transforms(new RoundTransform(context, r)); Log.i(TAG, url); Glide.with(context) .load(url) .apply(options) .into(imageView); } /** * 黑白 */ public static void loadBlackWhite(Context context, String url, ImageView imageView) { if (context instanceof Activity) { if (((Activity) context).isDestroyed()) return; } RequestOptions options = new RequestOptions() .error(errorImg) .placeholder(errorImg) .transforms(new BlackWhiteTransformation()); Glide.with(context) .load(url) .apply(options) .into(imageView); } }

 

使用方法:

GlideUtil.loadCircle(getContext(), "drawable-xxhdpi/mine_icon.png", imageView);

 

 

 

你可能感兴趣的:(Android 自定义Glide实现圆形头像效果(圆角,正常,黑白,圆形效果))