在Jetpack Compose中加载网络图片,现在只能使用 Coil这个库!!!
accompanist在几个月之前就弃用了GuildColi库 弃用Guild和Coli!!!

1.引入Coli

implementation("io.coil-kt:coil:1.4.0")
implementation("io.coil-kt:coil-compose:1.4.0")

2.简单使用

Image(painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg"),contentDescription = null)

使用 rememberImagePainter函数,里面传入data为图片路径,就可以显示图片了
效果:

3. 占位图

Image(painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg",builder = {//占位图placeholder(R.mipmap.ic_launcher)}), contentDescription = null)

4. transformations

  • 圆形图片

    Image(painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg",builder = {//圆形图片transformations(CircleCropTransformation())},),contentDescription = null)
    

    效果:

  • 灰色

    Image(painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg",builder = {//灰色图片transformations(GrayscaleTransformation())},), contentDescription = null)
    

    效果:

  • 圆角

    圆角效果当然也可以使用Modifier.clip()来实现

    Image(painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg",builder = {//可以单独设置4个角的圆角度transformations(RoundedCornersTransformation(50f,50f,30f,30f))},), contentDescription = null)

    效果:

  • 高斯模糊

        val context = LocalContext.currentImage(painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg",builder = {//设置高斯模糊//context 上下文对象//10f 模糊的半径,越大越模糊 ,默认10f//1f 图片缩放,默认1ftransformations(BlurTransformation(context,10f,1f))},), contentDescription = null)
    

    效果:

    注:上面的效果可以组合起来使用

5.Transitions

  • 淡入淡出

Image(painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg",builder = {//淡入淡出效果,可以传入true,默认动画持续时间是100毫秒//crossfade(true)//也可以直接传入动画时间crossfade(1000)},), contentDescription = null)

效果:

6. 加载状态监听

val painter = rememberImagePainter(data = "http://pic-bucket.ws.126.net/photo/0003/2021-11-16/GOTKEOOU00AJ0003NOS.jpg")//图片加载状态when(painter.state){is ImagePainter.State.Success ->{Log.i("Coil","图片加载完成")}is ImagePainter.State.Loading ->{Log.i("Coil","图片加载中....")}is ImagePainter.State.Error ->{Log.i("Coil","图片加载错误")}}Image(painter = painter, contentDescription = null)

注意:截至文章发布时,图片加载状态还是实验性的API,还没有稳定

7.官方文档

coil官方文档

Jetpack Compose Image加载网络图片相关推荐

  1. Jetpack Compose 无限加载列表(滚到底部自动加载更多)

    Android 中使用 ListView 或者 RecycleView 经常有滚动到底部自动 LoadMore 的需求,那么在 Compose 中该如何实现呢? 两种方法可供选择: 基于 paging ...

  2. Jetpack Compose——Image使用Coli加载网络图片(包含GIF、SVG)

    Image加载网络图片 首先添加依赖: implementation("io.coil-kt:coil:1.4.0")implementation("io.coil-kt ...

  3. iOS开发swift版异步加载网络图片(带缓存和缺省图片)

    iOS开发之swift版异步加载网络图片 与SDWebImage异步加载网络图片的功能相似,只是代码比较简单,功能没有SD的完善与强大,支持缺省添加图片,支持本地缓存. 异步加载图片的核心代码如下: ...

  4. 【转载】一行代码加载网络图片到ImageView——Android Picasso

    原文链接:一句代码加载网络图片到ImageView--Android Picasso  注意:此处使用下面代码需要先配置一下gradle,下载所需包. 具体操作如下图: compile 'com.sq ...

  5. ios开发多线程篇--异步加载网络图片GCD

    一.异步加载网络图片 1.ATS (1)简介 从iOS9.0开始,如果按照以前的方式写代码,在访问网络的时候 ,会报以下警告信息: App Transport Security has blocked ...

  6. 【Flutter】Image 组件 ( 加载网络图片 | 加载静态图片 | 加载本地图片 | path_provider 插件 )

    文章目录 一.加载网络图片 二.加载静态图片 三.加载本地图片 四.完整代码示例 五.相关资源 一.加载网络图片 参考 [Flutter]Image 组件 ( Image 组件简介 | Image 构 ...

  7. Android Volley完全解析2:使用Volley加载网络图片

    原文链接:http://blog.csdn.net/guolin_blog/article/details/17482165,CSDN 郭霖 在上一篇文章中,我们了解了Volley到底是什么,以及它的 ...

  8. android listview动态加载网络图片不显示,Android Listview异步动态加载网络图片

    Android Listview异步动态加载网络图片 详见: http://blog.sina.com.cn/s/blog_62186b460100zsvb.html 标签: Android SDK ...

  9. Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide开源组件加载网络图片的优缺点比较...

    在android中的加载网络图片是一件十分令人头疼的事情,在网上有着许多关于加载网络图片的开源库,可以让我们十分方便的加载网络图片.在这里我主要介绍一下我自己在使用Volley, Picasso, U ...

最新文章

  1. redis list操作
  2. 如何将docker 镜像上传到docker hub仓库
  3. python 方法的实例_python调用自定义函数的实例操作
  4. java ee 指南 pdf_Java EE 7权威指南:卷1(原书第5版) 中文pdf
  5. Log4j漏洞?一行代码都不改就能永久修复?
  6. 软考网络管理员学习笔记8之第八章网络安全技术
  7. iQOO骑士黑版本四月亮相:搭载骁龙855+12G运存
  8. ssm框架数据查询一直为null
  9. mysql游戏调整等级_mysql求游戏排名
  10. 【小程序源码】修复图片音频全新升级带特效神器小游戏微信小程序源码下载-多种游戏支持
  11. 使用成捷讯软件制作简单的通信工程预算----以高速4G新建站为例
  12. idea2020更新功能_idea2020 插件备份
  13. PC端下载网易云课堂视频到本地
  14. 树莓派4B安装桌面控件wbar和conky,美化桌面(解决报错)
  15. 阴阳师服务器维护内容,阴阳师8月1日维护内容介绍_友人帐弈鬼切内容介绍_3DM手游...
  16. CGB2202API基础第1天
  17. 波特率、比特率 与数据传输速率的区别
  18. echarts xAxis字显示不全
  19. Ubuntu系统 不使用snap安装firefox,使用firefox官网下载的安装包安装firefox
  20. C# 提取Word文档中的图片(用Spire)

热门文章

  1. 视频驱动程序概念整理
  2. 用户计算机通过局域网上网时,北语网院17春《计算机基础》作业2答案满分
  3. ROS仿真--URDF
  4. ChainLP 做漫画
  5. 五子棋游戏程序创作过程(C语言)
  6. 利用 Ophis 编写 Commodore 64 programs PRG 程序(五)
  7. 极速上手 VUE 3——teleport传送门组件
  8. FebHost域名知识:什么是.br巴西域名,如何注册?
  9. MacBook常用的快捷键
  10. 航班管家获得1500万美元B轮融资