Glide图片加载库的基本使用

Glide的基本用法(图片加载库)

1.设置占位图

placeholder(R.drawable.picture)

2.设置加载错误时的图片

error(R.drawable.error)

3.设置缩略图

thumbnail(0.1f) //用原图的十分之一作为缩略图

4.设置请求优先级

priority(Priority.HIGH)

优先级越高越优先加载,但不保证所有图片都按序加载。可选参数:

枚举Priority.IMMEDIATE,Priority.HIGH,Priority.NORMAL,Priority.LOW。默认为Priority.NORMAL。

5.缓存

//缓存原始数据
.diskCacheStrategy(DiskCacheStrategy.SOURCE)

//缓存变换后的资源数据(例如:缩放、裁剪等情况)
.diskCacheStrategy(DiskCacheStrategy.RESULT)

//不进行磁盘缓存
.diskCacheStrategy(DiskCacheStrategy.NONE)

//原始数据和变换后的资源数据都缓存
.diskCacheStrategy(DiskCacheStrategy.ALL)

//对本地和远程图片使用最佳的策略,加载远程数据时,仅会存储原图,因为在磁盘上调整原图更省时间。加载本地数据时,仅会存储变换过的缩略图,因为取得原始数据很容易
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)

//禁止内存缓存
.skipMemoryCache(true)

//清除内存缓存 必须在UI线程中调用
Glide.get(context).clearMemory();

//清除磁盘缓存 必须在后台线程中调用,建议同时clearMemory()
Glide.get(applicationContext).clearDiskCache();

6.Glide图片变换

引入: implementation ‘jp.wasabeef:glide-transformations:4.0.1’

常用的几种效果

Crop(剪裁: 圆角,圆形,正方形…)
1.CropTransformation
2.CropCircleTransformation
3.CropSquareTransformation
4.RoundedCornersTransformation

Color(过滤色: 素描,反转…)
1.ColorFilterTransformation
2.GrayscaleTransformation

Blur(模糊…)
1.BlurTransformation

Mask(遮罩…)
1.MaskTransformation

6.简单用法

引入:
implementation ‘com.github.bumptech.glide:glide:4.13.2’
annotationProcessor ‘com.github.bumptech.glide:compiler:4.13.2’
用法:
Glide.with(context).load(url).into(imageView);

with里填上下文,load里面填写url,into填写要下载到的控件对象

7.加载本地图片

下面展示一些 内联代码片

        //读取加载本地的图片
        textView1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int resourceId=R.mipmap.ic_launcher_round;
                Glide.with(context).load(resourceId).into(imageView1);
            }
        });
8.加载SD卡的图片
    textView2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String path="path路径名称";
                File file=new File(path);
                Glide.with(context).load(file).into(imageView2);
            }
        });
9.网络加载
    textView3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                  Glide.with(context).load("网络在线图片地址").into(imageView3);
            }
        });
10.圆形图片
    //自定义图片和圆形图片
        textView4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                  bitmap= BitmapFactory.decodeResource(context.getResources(),R.mipmap.image1);
                Glide.with(context).load(bitmap)
                        .placeholder(R.mipmap.ic_launcher_round)
                        .apply(RequestOptions.bitmapTransform(new CircleCrop()))
                        .into(imageView4);
            }
        });
11.圆角图片
    textView5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Glide.with(context).load(bitmap)
                        //缓存图片
                        .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
                        .apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(5,3)))
                        .into(imageView5);
            }
        });
12.初始化默认图片和加载失败时的图片,图片加载优先级
    textView6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Glide.with(context).load(bitmap)
                       .placeholder(R.mipmap.ic_launcher)
                        //指定加载的优先级,优先级越高优先加载的概率越高
                        .priority(Priority.IMMEDIATE)
                        .error(R.mipmap.ic_launcher_round)
                        .centerCrop().into(imageView6);
            }
        });
13.缩略图
    textView7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Glide.with(context).load(bitmap)
                    .thumbnail(0.1f)
                        .into(imageView7);
            }
        });
14.复古照片(黑白化)
    textView8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Glide.with(context).load(bitmap)
                        .apply(RequestOptions.bitmapTransform(new GrayscaleTransformation()))
                        .into(imageView8);
            }
        });
15.GIF加载 动态图片
    textView10.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                  Glide.with(context).load("gif图片的地址")
                        .into(imageView10);
            }
        });
16.图片填充
    textView11.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                  Glide.with(context).load(bitmap).centerCrop().into(imageView11);
            }
        });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值