安卓学习日记-第三方库加载网络图片

发布于:2023-01-12 ⋅ 阅读:(636) ⋅ 点赞:(0)

不是教程,自己学的一点东西记录 下来。

虽然可以自己写,但是有库更省劲儿。

库:Glide,Github链接

用法:

        导入依赖

  implementation 'com.github.bumptech.glide:glide:4.13.2'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'

使用方式:先findImageView,再用库提供的简短的代码即可,简单方便。

private ImageView iv_title 

String ImageUrl = "http:\\xx.xx.png";

iv_title = findViewById(R.id.IV_title);

Gilde.with(this)      //with方法支持传入Context,Activity,Fragment,View等
    .load(ImageUrl)   //load就是加载图片的地址了
    .into(iv_title);  //into顾名思义就是把图片控件资源设置为自己网址的图片

此外,load方法也提供了强大的支持,Uri、文件、btye[]、网络连接、资源id、bitmap、drawable都可以加载。

题外:此体外转载简书:作者:MrTrying

占位符

Glide提供了三种不同类型的占位符:



 

  • placeholer(占位符)
  • error(错误符)
  • fallback(后备回调符)
  • GlideApp.with(this)
            .load(url)
            .placeholder(R.mipmap.placeholder)
            .error(R.mipmap.error)
            .fallback(R.mipmap.fallback)
            .into(imageView);

    先说API的参数,placeholdererrorfallback相同可以传入资源id或者Drawable对象。

    接下来说说这三个占位符的调用时机,用过V3的同学一定知道placeholer占位符是当资源正在请求是被展示的图片或者资源文件,当请求成功时占位符会被替换成请求到得资源;error则是在请求永久性失败是展示;fallback是当请求的url(或者model)为null时展示,此占位符的目的是设置null是否是可接收的正常情况,而Glide将null作为错误处理。

    三个占位符对应了三种时机,其中还有一些状态,无可避免的会出现一些复杂的情况需要说明:

  • 设置了placeholder之后,如果请求失败,但是没有设置error,那么占位符将继续显示;而请求的url/model为null也会导致请求失败,一样的,没有设置errorfallback的话,占位符也将继续显示
  • 如果请求的url/model为null导致请求失败,fallback会优先于error调用,也就是说url为null时设置了error而没有设置fallback将继续显示error;反之,设置了fallback就会显示fallback

网站公告

今日签到

点亮在社区的每一天
去签到

热门文章