Android Glide常见使用方式讲解

 更新时间:2023年01月16日 14:45:33   作者:FranzLiszt1847  
对于Glide这个加载图片的框架,很多人都在用,我之前使用的是ImageLoader,最近查资料时,发现Glide才是Google推荐的加载图片框架,功能非常强大,而且还有Google专人维护,要知道,ImageLoader已经没人维护了,除了问题可没人解答。所以有必要整理一下Glide的使用

效果图

依赖

    implementation 'com.github.bumptech.glide:glide:4.13.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
    implementation 'jp.wasabeef:glide-transformations:4.1.0'

普通显示

没有任何附加效果显示,请求结果返回之后,直接在图片容器中显示

  /**
     * 无附件效果*/
    private fun loadImage(){
        Glide.with(this)
            .asDrawable()
            .load(url)
            .dontAnimate()
            .into(binding.noStyleImage)
    }

占位符显示

当网络请求过多或者业务繁忙时,Glide返回可能会有一定延迟,此空窗期就会不显示任何东西,通过placeholder可添加一张占位符,在数据未返回之前,显示一张默认图片

 /**
     * 有默认占位图片*/
    private fun loadDefaultImage(){
        Glide.with(this)
            .asDrawable()
            .load(url)
            .placeholder(R.drawable.icon_default_songs)
            .error(R.drawable.icon_error)
            .dontAnimate()
            .into(binding.defaultImage)
    }

圆角显示

在开发需求中,往往会需要将某些图片进行圆角处理,通过transform(RoundedCorners(20))可完成圆角处理,其中20为圆角弯曲程度

 /**
     * 圆角图片*/
    private fun loadRadiusImage(){
        Glide.with(this)
            .asDrawable()
            .load(url)
            .transform(RoundedCorners(20))
            .placeholder(R.drawable.icon_default_songs)
            .error(R.drawable.icon_error)
            .dontAnimate()
            .into(binding.radiusImage)
    }

高斯模糊显示

有时会遇见将背景虚化、模糊处理等需求,通过apply(RequestOptions.bitmapTransform(BlurTransformation(20)))可完成上述需求,同样20为模糊程度

  /**
     * 高斯模糊图片效果*/
    private fun loadVagueImage(){
        Glide.with(this)
            .asDrawable()
            .load(url)
            .apply(RequestOptions.bitmapTransform(BlurTransformation(20)))
            .placeholder(R.drawable.icon_default_songs)
            .error(R.drawable.icon_error)
            .dontAnimate()
            .into(binding.vagueImage)
    }

生命周期

我们进入一个Activity时,触发网络请求,Glide开始请求数据,当Glide未完成数据返回时,我们退出此Activity,即销毁,会触发异常,因为Glide仍在运行,当它的数据返回时,发现Activity已经被销毁啦,就会产生报错异常,所以在必要的Glide代码中加一个生命周期判断

if (!this.isFinishing && !this.isDestroyed){
//Glide代码
}

图床工具推荐

最后推荐一个图床工具,可以将本地上传的图片转化为我们需要的URL格式,直接在chrome应用商店搜索B站图床,添加到扩展程序即可,相关的也有微博图床、即刻图床等

到此这篇关于Android Glide常见使用方式讲解的文章就介绍到这了,更多相关Android Glide内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android控件BottomSheet实现底边弹出选择列表

    Android控件BottomSheet实现底边弹出选择列表

    这篇文章主要介绍了Android控件BottomSheet实现底边弹出选择列表,比较常用的选择条件或跳转方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Android中的Parcelable序列化对象

    Android中的Parcelable序列化对象

    这篇文章主要介绍了Android中的Parcelable序列化对象,需要的朋友可以参考下
    2016-01-01
  • Android基础之使用Fragment控制切换多个页面

    Android基础之使用Fragment控制切换多个页面

    Android官方已经提供了Fragment的各种使用的Demo例子,在我们SDK下面的API Demo里面就包含了Fragment的各种使用例子,需要看Demo的朋友,直接看API Demo那个程序就可以了,不用到处去找。里面分开不同功能,实现了不同的类
    2013-07-07
  • Android使用ContentProvider实现跨进程通讯示例详解

    Android使用ContentProvider实现跨进程通讯示例详解

    这篇文章主要为大家介绍了Android使用ContentProvider实现跨进程通讯示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Service Activity的三种交互方式(详解)

    Service Activity的三种交互方式(详解)

    下面小编就为大家带来一篇Service Activity的三种交互方式(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 浅析KJFrameForAndroid框架如何高效加载Bitmap

    浅析KJFrameForAndroid框架如何高效加载Bitmap

    Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。本文主要是从KJFrameForAndroid框架中分析高效加载Bitmap的方法
    2014-07-07
  • Android 8.0升级不跳转应用安装页面的解决方法

    Android 8.0升级不跳转应用安装页面的解决方法

    这篇文章主要为大家详细介绍了Android 8.0升级不跳转应用安装页面的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android基于google Zxing实现各类二维码扫描效果

    Android基于google Zxing实现各类二维码扫描效果

    这篇文章主要介绍了Android基于google Zxing实现各类二维码扫描效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Jetpack Compose状态专篇精讲

    Jetpack Compose状态专篇精讲

    在今年的Google/IO大会上,亮相了一个全新的 Android 原生 UI 开发框架-Jetpack Compose, 与苹果的SwiftIUI一样,Jetpack Compose是一个声明式的UI框架,这篇文章主要介绍了Jetpack Compose状态管理
    2022-10-10
  • Android自定义View模仿虎扑直播界面的打赏按钮功能

    Android自定义View模仿虎扑直播界面的打赏按钮功能

    这篇文章主要介绍了Android自定义View模仿虎扑直播界面的打赏按钮功能,文中介绍的非常详细,对各位Android开发者们具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04

最新评论