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()使用了。

相关推荐
亿是守候 & 亿是承诺6 分钟前
第二章 控制系统的数学模型
android
Carson带你学Android31 分钟前
ADK for Kotlin:Google 官方 AI Agent 教程来了
android·agent·ai编程
一航jason12 小时前
Android平台推理框架及试用场景模型对比
android·人工智能·ai·架构·ai编程·llama
一航jason12 小时前
Android 端侧大模型推理框架对比
android·人工智能·ai·ai编程·llama·ai-native
新时代牛马13 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
光电的一只菜鸡14 小时前
为什么调整LSC会对AF产生影响
android·开发语言·kotlin
凛_Lin~~15 小时前
LiveData 源码解析
android·安卓·livedata
hai_android15 小时前
FusibleFlow:Kotlin Flow 的融合机制原理
android·kotlin
龚寿生15 小时前
23-敏捷开发实战:从Scrum到看板的团队协作方法论
android·学习·scrum·敏捷流程
zhangguojia717 小时前
Activity启动流程(四):从setContentView到View树创建与Window挂载
android