Android Coil 3 extend ImageRequest‘s custom method/function,Kotlin(2)

Android Coil 3 extend ImageRequest's custom method/function,Kotlin(2)

在Android中使用Coil 3图片加载库时,通过扩展ImageRequest实现自定义超时功能的方法。相比之前不够简明的实现方式,现在通过在ImageRequestExt.kt文件中定义扩展函数和属性,可以更优雅地添加超时设置。具体实现包括:定义timeoutKey作为扩展键,为ImageRequest.Builder添加timeout()扩展方法,以及为ImageRequest添加timeout属性。这种扩展方式使得上层应用可以链式调用.timeout()方法来设置图片加载超时时间。

https://zhangphil.blog.csdn.net/article/details/161090239

现在用新的方式实现,新建一个代码文件,假设叫ImageRequestExt.kt,在里面写入:

Kotlin 复制代码
import coil3.Extras
import coil3.getExtra
import coil3.request.ImageRequest

private val timeoutKey = Extras.Key(default = Long.MAX_VALUE)

fun ImageRequest.Builder.timeout(timeout: Long) = apply {
    extras[timeoutKey] = timeout
}

val ImageRequest.timeout: Long
    get() = getExtra(timeoutKey)

这样就可以在上层应用中构造ImageRequuest时候通过 .timeout()使用了。

相关推荐
诸神黄昏EX1 小时前
Android 性能优化【篇五:应用启动分析流程】
android
执念、坚持1 小时前
解决 vscode 中导入 android aosp 源码卡顿问题
android·ide·vscode
码云骑士1 小时前
Android ADB常用命令
android·adb
Kapaseker1 小时前
五分钟搞定 Compose 用户名密码自动填充
android·kotlin
EasyCVR1 小时前
监控“孤岛”困局:国标GB28181视频监控平台EasyCVR一站式视频融合平台实现视频系统统一管理
android·音视频
松仔log1 小时前
Jetpack——DataStore
java·kotlin
眸生2 小时前
基于NeteaseCloudMusicApi的音乐app 支持 DeepSeek 自然语言找歌、批量导入歌单、下载音乐转换成MP3,下载歌词
android·python·kotlin·android studio·音频·fastapi·android jetpack
问心无愧05132 小时前
ctf show web入门68,69
android·前端·笔记
码上有光2 小时前
c++: 继承(下)
android·java·c++·多继承·菱形继承·虚继承