zoukankan      html  css  js  c++  java
  • v关于使用Glide加载图片失败时显示自己特定的图片

    Glide是Android加载图片的一个框架。

    常用加载图片到imageView:Glide.with(this).load(url).into(ImageView imageview).
    当加载失败时一般情侣下会默认调用Glide.error()方法,只需要在error方法中放一个默认图片即可,但当我们需要设置的默认图片是网络图片或者是手机本地图片时,这个方法行不通。
    解决办法:Glide为我们提供了listener()方法,onException是图片加载异常回调,将它设置为false时会调用Glide默认的error方法,需要将它设置为true,然后调用我们自己设置的图片加载异常处理,onResourceReady是加载成功的处理。

    1、首先给定一个你要获取图片路径
    final String path = Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"Anycctv"+File.separator+device.deviceUid+".jpg";//这是我自己的本地路径,换成你自己的
    
    2、使用listener方法进行监听
          DrawableTypeRequest<Uri> request = Glide.with(this).load(uri);
            request.listener(new RequestListener<Uri, GlideDrawable>() {
                @Override
                public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
                    dismissLoading();
                    //showToast("ex="+e.getMessage());
                    Glide.with(UlifeplusApp.app).load(path)
                            .placeholder(mIvPicture.getDrawable())
                            .signature(new StringSignature(signature))
                            .crossFade(300)
                            .error(R.drawable.ic_fg_device_item)
                            .into(mIvPicture);
                    return true;
                }
    
                @Override
                public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                    dismissLoading();
                    //showToast("succ");
                    return false;
                }
            })
                    .crossFade()
                    .override(Utils.getRealSize(this).x, getResources().getDimensionPixelSize(R.dimen.w_480px))
                    .skipMemoryCache(true)
                    .diskCacheStrategy(DiskCacheStrategy.RESULT)
                    .into(mIvPicture);
    

    小礼物走一走,来简书关注我

     
  • 相关阅读:
    第一章:Android系统的编译和移植实例读书笔记
    第二章:Android系统与嵌入式开发读书笔记
    第三章:Android移植平台工具介绍读书笔记
    第十章 嵌入式Linux的调试技术
    第九章 硬件抽象层:HAL
    第八章 让开发板发出声音:蜂鸣器驱动
    第七章 LED将为我闪烁:控制发光二极管
    第六章 第一个Linux驱动程序:统计单词个数
    第五章 搭建S3C6410开发板的测试环境
    第四章 源代码的下载和编译
  • 原文地址:https://www.cnblogs.com/yelanggu/p/10831510.html
Copyright © 2011-2022 走看看