美文网首页
android Glide 加载网络图片

android Glide 加载网络图片

作者: 夜沐下的星雨 | 来源:发表于2022-04-20 14:51 被阅读0次
    import android.content.Context;
    import android.widget.ImageView;
     
    import com.bumptech.glide.Glide;
    import com.bumptech.glide.Priority;
    import com.bumptech.glide.load.engine.DiskCacheStrategy;
    import com.xolo.v6app.R;
     
    import java.io.File;
    import jp.wasabeef.glide.transformations.BlurTransformation;
    import jp.wasabeef.glide.transformations.CropCircleTransformation;
    import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
     
    public class GlideUtil {
        public GlideUtil(){}
        /**
         * 常规加载
         * @param context
         * @param path
         * @param imageView
         */
        public static void displayImage(Context context, Object path, ImageView imageView) {
            Glide.with(context)
                    .load(path.toString())
                    .error(R.mipmap.menu_cancellation)//图片加载失败后,显示的图片
                    .diskCacheStrategy(DiskCacheStrategy.RESULT) //缓存图片
                    .into(imageView);
        }
     
     
        //高斯模糊
        public void vagueImage(Context context, Object path, ImageView imageView){
            Glide.with(context)
                    .load(path.toString())
                    .diskCacheStrategy( DiskCacheStrategy.SOURCE)
                    // 设置高斯模糊  14":模糊度;"3":图片缩放3倍后再进行模糊,缩放3-5倍个人感觉比较好。
                    //.bitmapTransform(new BlurTransformation(context, 14, 3))
                    .into(imageView);
        }
     
        /**
         * 圆角图片
         * @param context
         * @param path
         * @param imageView
         * @param angle
         */
        public void filletImage(Context context, Object path, ImageView imageView,int angle){
            Glide.with(context)
                    .load(path.toString())
                    .error(R.mipmap.menu_cancellation)//图片加载失败后,显示的图片
                    //.bitmapTransform(new RoundedCornersTransformation(context, angle, 0, RoundedCornersTransformation.CornerType.ALL))
                    .crossFade(1000)
                    .into(imageView);
        }
        // Glide.with(this).load(url).bitmapTransform(new RoundedCornersTransformation(this, 30, 0, RoundedCornersTransformation.CornerType.BOTTOM)).crossFade(1000).into(image5);
     
        /**
         * 加载GIF图
         * @param context
         * @param path
         * @param imageView
         */
        public void gifImage(Context context, Object path, ImageView imageView){
            Glide.with(context)
                    .load(path)
                    .asGif()
                    .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                    .into(imageView);
        }
     
        /**
         *
         * @param context
         * @param path
         * @param imageView
         */
        public void circleImage(Context context, Object path, ImageView imageView){
            Glide.with(context)
                    .load(path.toString())
                    .error(R.mipmap.menu_cancellation)//图片加载失败后,显示的图片
                    //.bitmapTransform(new CropCircleTransformation(context))
                    .crossFade(1000)
                    .into(imageView);
        }
     
        //常用的属性
        public void displayImageExperiment(Context context, Object path, ImageView imageView) {
            //with 可用于启动加载的顶级应用程序的RequestManager
            Glide.with(context)
     
                    //文件路径(加载图片的网络位置,也可以是GIF,和本地视频-网络视频不行)
                    //.load( Uri.fromFile( new File( filePath ) ) )   本地视频
                    .load(path.toString())
     
                    //占位图设置(加载错误或者加载失败时显示的图片)图片自己设置
                    //placeholder() 和 error() 的参数都是只支持 int 和 Drawable 类型的参数,这种设计应该是考虑到使用本地图片
                    .placeholder(R.mipmap.menu_cancellation)//图片加载出来前,显示的图片
                    .error(R.mipmap.menu_cancellation)//图片加载失败后,显示的图片
     
                    //缩略图,参数是flost类型,作为其倍数大小
                    .thumbnail( 0.2f )
     
                    //动画开关 - crossFade() 方法强制开启 Glide 默认的图片淡出淡入动画(也可以自定义动画效果哦)
                    .crossFade()//或者使用 dontAnimate() 关闭动画
     
                    //图片大小与裁剪
                    .override(100,70)//这里的单位是px
     
                    //图片的缓存处理  (内存缓存、磁盘缓存)
                    /*
                     * DiskCacheStrategy.NONE 什么都不缓存
                     * DiskCacheStrategy.SOURCE 只缓存全尺寸图
                     * DiskCacheStrategy.RESULT 只缓存最终的加载图
                     * DiskCacheStrategy.ALL 缓存所有版本图(默认行为)
                     * */
                    .diskCacheStrategy( DiskCacheStrategy.SOURCE )
     
                    //图片请求的优先级,如果同时加载很多图片,就可以设置优先级(分为:立即、高、正常、低、优先)
                    /*
                     * IMMEDIATE,
                     * HIGH,
                     * NORMAL,
                     * LOW,
                     * priority,
                     * */
                    .priority (Priority.priority )
     
                    //设置布局,加载的图片显示布局
                    .into(imageView);
        }
        public static void loaderImage(Context context, File file, ImageView iv, int placeholder, int error){
            Glide.with(context)
                    .load(file)
                    .placeholder(R.mipmap.menu_cancellation)//加载中显示的图片
                    .error(R.mipmap.menu_cancellation)//加载失败时显示的图片
                    .into(iv);//URL加载方式
        }
        public static void loaderImage(Context context, String url, ImageView iv){
            Glide.with(context)
                    .load(url)
                    //.placeholder(R.mipmap.menu_cancellation)//加载中显示的图片
                    .error(R.mipmap.menu_cancellation)//加载失败时显示的图片
                    .into(iv);//URL加载方式
        }
    }
    

    相关文章

      网友评论

          本文标题:android Glide 加载网络图片

          本文链接:https://www.haomeiwen.com/subject/gtyvertx.html