import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.bumptech.glide.load.DecodeFormat; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.request.animation.GlideAnimation; import com.bumptech.glide.request.target.SimpleTarget; import com.bumptech.glide.util.Util; import com.laitoon.app.R; import com.laitoon.app.util.DisplayUtil; import java.io.File; import jp.wasabeef.glide.transformations.BlurTransformation; import jp.wasabeef.glide.transformations.CropCircleTransformation; import jp.wasabeef.glide.transformations.RoundedCornersTransformation; /** * Description : 图片加载工具类 使用glide框架封装 */ public class ImageLoaderUtils { public static void display(Context context, ImageView imageView, String url, int placeholder) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } if (Util.isOnMainThread()) { Glide.with(context).load(url).placeholder(placeholder).error(placeholder) .crossFade() .diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView); } } public static void display(Context context, ImageView imageView, String url, int placeholder, int error) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url).placeholder(placeholder) .error(error).crossFade().into(imageView); } public static void display(Context context, ImageView imageView, String url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .centerCrop() .placeholder(R.drawable.ic_image_loading) .error(R.drawable.ic_empty_picture) .crossFade() .into(imageView); } public static void displayWithoutCrop(Context context, ImageView imageView, String url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.ic_image_loading) .error(R.drawable.ic_empty_picture) .dontAnimate() .into(imageView); } public static void display(Context context, ImageView imageView, String url, Drawable placeholder) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .centerCrop() .placeholder(placeholder) .crossFade() .into(imageView); } public static void displayVideoBackgroud(Context context, ImageView imageView, String url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .centerCrop() .error(new ColorDrawable(0x000000)) .placeholder(new ColorDrawable(0x000000)) .into(imageView); } public static Object display(Context context, ImageView imageView, File url) { //本地临时图片不做缓存 if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) // .diskCacheStrategy(DiskCacheStrategy.ALL) .centerCrop() .placeholder(R.drawable.ic_image_loading) .error(R.drawable.ic_empty_picture) .crossFade().into(imageView); return null; } //加载圆形头像,如果你的圆形icon只显示默认图片或者不显示,可以用个方法 public static void displaySmallPhoto(Context context, ImageView imageView, String url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url).asBitmap() .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.ic_image_loading) .error(R.mipmap.ic_launcher) .thumbnail(0.5f) .into(imageView); } public static void displayBlurPhoto(Context context, ImageView imageView, String url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .bitmapTransform(new BlurTransformation(context, 50)) .into(imageView); } public static void displayBlurPhoto(Context context, ImageView imageView, String url, Drawable placeholder) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .error(placeholder) .bitmapTransform(new BlurTransformation(context, 50)) .into(imageView); } public static void displayRoundedCornersAvatar(Context context, ImageView imageView, String url, Drawable placeholder) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .error(placeholder) .centerCrop() .bitmapTransform(new RoundedCornersTransformation(context, DisplayUtil.dip2px(7), 1)) .into(imageView); } public static void displayCircleAvatar(Context context, ImageView imageView, String url, Drawable placeholder) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) // .skipMemoryCache(false) .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(placeholder) .error(placeholder) .centerCrop() .crossFade(0) .bitmapTransform(new CropCircleTransformation(context)) .into(imageView); } public static void displayBigPhoto(Context context, ImageView imageView, String url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url).asBitmap() .format(DecodeFormat.PREFER_ARGB_8888) .diskCacheStrategy(DiskCacheStrategy.ALL) // .placeholder(R.drawable.ic_image_loading) .error(R.drawable.ic_empty_picture) .into(imageView); } public static void displayBigPhoto(Context context, ImageView imageView, File url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url).asBitmap() .format(DecodeFormat.PREFER_ARGB_8888) .diskCacheStrategy(DiskCacheStrategy.ALL) // .placeholder(R.drawable.ic_image_loading) .error(R.drawable.ic_empty_picture) .into(imageView); } public static void display(Context context, ImageView imageView, int url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.RESULT) // .centerCrop() // .placeholder(R.drawable.ic_image_loading) // .error(R.drawable.ic_empty_picture) .crossFade().into(imageView); } public static void displayGif(Context context, ImageView imageView, int url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context) .load(url) .asGif() .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(imageView); } public static void displayRound(Context context, ImageView imageView, String url) { if (imageView == null) { throw new IllegalArgumentException("argument error"); } Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .error(R.drawable.toux2) .centerCrop() .bitmapTransform(new RoundedCornersTransformation(context, DisplayUtil.dip2px(6), 0)) .into(imageView); } public static void getBitMap(Context context, final ImageView imageView, String url) { Glide.with(context) .load(url) .asBitmap() .placeholder(R.drawable.ic_image_loading) .error(R.drawable.ic_empty_picture) .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { imageView.setImageBitmap(resource); } }); } }
图片加载工具类 使用glide框架封装
最新推荐文章于 2024-03-28 11:14:34 发布