Glide4-入门教程-2-占位符的使(placeholder, error, fallback)

目录:

1,Glide4-入门教程-1-环境配置和基础使用

2,Glide4-入门教程-2-占位符的使(placeholder, error, fallback)


一、简介

    这一节主要是讲,Glide4中占位图的使用方法,包括(placeholder, error,fallback)三种占位图

二、占位符定义和类型

    1,定义:

    占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。

    2,类型:

        1)placeholder       //  正在请求图片的时候展示的图片

        2)error                //  如果请求失败的时候展示的图片 (如果没有设置,还是展示placeholder的占位符)

        3)fallback            //  如果请求的url/model为 null 的时候展示的图片 (如果没有设置,还是展示placeholder的占位符)

三、用法

     有两种方法设置,一是RequestOptios中设置(重点介绍),二是利用GlideApp直接展示。如下面的实例

1,placeholder

        占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 error Drawable ,则占位符将被持续展示。类似地,如果请求的url/model为 null ,并且 error Drawable 和 fallback 都没有设置,那么占位符也会继续显示。


        在RequestOption设置

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    String imageUrl  = "https://www.niwoxuexi.com/statics/images/nougat_bg.png";
    ImageView imageView = findViewById(R.id.image_view);
    RequestOptions options = new RequestOptions()
                            .placeholder(R.drawable.ic_launcher)
                         //   .placeholder(new ColorDrawable(Color.BLACK))   // 或者可以直接使用ColorDrawable
                            ;
    Glide.with(this)
            .load(imageUrl)
            .apply(options)
            .into(imageView);
}

        或者 GlideApp (下面两种就不介绍GlideApp方式了)

GlideApp.with(this)
        .load(url)
        .placeholder(R.drawable.ic_launcher)
        //.placeholder(new ColorDrawable(Color.BLACK))        // 或者可以直接使用ColorDrawable
        .into(view);

 2,error 

    error Drawable 在请求永久性失败时展示。error Drawable 同样也在请求的url/model为 null ,且并没有设置 fallback Drawable 时展示。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String imageUrl  = "https://www.niwoxuexi.com/statics/images/nougat_bg.png";
        ImageView imageView = findViewById(R.id.image_view);
        RequestOptions options = new RequestOptions()
//                .error(new ColorDrawable(Color.BLUE))   // 用ColorDrawable或者下面的资源文件
                .error(R.drawable.ic_error);
        Glide.with(this)
                .load(imageUrl)
                .apply(options)
                .into(imageView);
        
    }

3,  fallback


fallback Drawable 在请求的url/model为 null 时展示。
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String imageUrl  = "https://www.niwoxuexi.com/statics/images/nougat_bg.png";
        ImageView imageView = findViewById(R.id.image_view);
        RequestOptions options = new RequestOptions()
//                .fallback(new ColorDrawable(Color.BLUE))   // 用ColorDrawable或者下面的资源文件
                .fallback(R.drawable.ic_fallback);
        Glide.with(this)
                .load(imageUrl)
                .apply(options)
                .into(imageView);
    }

4,最后来段三种占位符同时用的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String imageUrl  = "https://www.niwoxuexi.com/statics/images/nougat_bg.png";
    ImageView imageView = findViewById(R.id.image_view);
    RequestOptions options = new RequestOptions()
            .placeholder(R.drawable.ic_launcher)
            .error(R.drawable.ic_error)
            .fallback(R.drawable.ic_fallback);
    Glide.with(this)
            .load(imageUrl)
            .apply(options)
            .into(imageView);
}


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小潴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值