目录:
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);
}
        
    
                
不错