Jetpack Compose Image加载网络图片
在Jetpack Compose中加载网络图片,现在只能使用 Coil
这个库!!!
且accompanist
在几个月之前就弃用了Guild
和 Coli
库 弃用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加载网络图片相关推荐
- Jetpack Compose 无限加载列表(滚到底部自动加载更多)
Android 中使用 ListView 或者 RecycleView 经常有滚动到底部自动 LoadMore 的需求,那么在 Compose 中该如何实现呢? 两种方法可供选择: 基于 paging ...
- Jetpack Compose——Image使用Coli加载网络图片(包含GIF、SVG)
Image加载网络图片 首先添加依赖: implementation("io.coil-kt:coil:1.4.0")implementation("io.coil-kt ...
- iOS开发swift版异步加载网络图片(带缓存和缺省图片)
iOS开发之swift版异步加载网络图片 与SDWebImage异步加载网络图片的功能相似,只是代码比较简单,功能没有SD的完善与强大,支持缺省添加图片,支持本地缓存. 异步加载图片的核心代码如下: ...
- 【转载】一行代码加载网络图片到ImageView——Android Picasso
原文链接:一句代码加载网络图片到ImageView--Android Picasso 注意:此处使用下面代码需要先配置一下gradle,下载所需包. 具体操作如下图: compile 'com.sq ...
- ios开发多线程篇--异步加载网络图片GCD
一.异步加载网络图片 1.ATS (1)简介 从iOS9.0开始,如果按照以前的方式写代码,在访问网络的时候 ,会报以下警告信息: App Transport Security has blocked ...
- 【Flutter】Image 组件 ( 加载网络图片 | 加载静态图片 | 加载本地图片 | path_provider 插件 )
文章目录 一.加载网络图片 二.加载静态图片 三.加载本地图片 四.完整代码示例 五.相关资源 一.加载网络图片 参考 [Flutter]Image 组件 ( Image 组件简介 | Image 构 ...
- Android Volley完全解析2:使用Volley加载网络图片
原文链接:http://blog.csdn.net/guolin_blog/article/details/17482165,CSDN 郭霖 在上一篇文章中,我们了解了Volley到底是什么,以及它的 ...
- android listview动态加载网络图片不显示,Android Listview异步动态加载网络图片
Android Listview异步动态加载网络图片 详见: http://blog.sina.com.cn/s/blog_62186b460100zsvb.html 标签: Android SDK ...
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide开源组件加载网络图片的优缺点比较...
在android中的加载网络图片是一件十分令人头疼的事情,在网上有着许多关于加载网络图片的开源库,可以让我们十分方便的加载网络图片.在这里我主要介绍一下我自己在使用Volley, Picasso, U ...
最新文章
- redis list操作
- 如何将docker 镜像上传到docker hub仓库
- python 方法的实例_python调用自定义函数的实例操作
- java ee 指南 pdf_Java EE 7权威指南:卷1(原书第5版) 中文pdf
- Log4j漏洞?一行代码都不改就能永久修复?
- 软考网络管理员学习笔记8之第八章网络安全技术
- iQOO骑士黑版本四月亮相:搭载骁龙855+12G运存
- ssm框架数据查询一直为null
- mysql游戏调整等级_mysql求游戏排名
- 【小程序源码】修复图片音频全新升级带特效神器小游戏微信小程序源码下载-多种游戏支持
- 使用成捷讯软件制作简单的通信工程预算----以高速4G新建站为例
- idea2020更新功能_idea2020 插件备份
- PC端下载网易云课堂视频到本地
- 树莓派4B安装桌面控件wbar和conky,美化桌面(解决报错)
- 阴阳师服务器维护内容,阴阳师8月1日维护内容介绍_友人帐弈鬼切内容介绍_3DM手游...
- CGB2202API基础第1天
- 波特率、比特率 与数据传输速率的区别
- echarts xAxis字显示不全
- Ubuntu系统 不使用snap安装firefox,使用firefox官网下载的安装包安装firefox
- C# 提取Word文档中的图片(用Spire)