1

我正在尝试将线圈准备ImageRequest为:

val drawable = when {
        mimeType.startsWith("image") -> R.drawable.ic_baseline_image_24
        mimeType.startsWith("video") -> R.drawable.ic_baseline_ondemand_video_24
        mimeType.startsWith("audio") -> R.drawable.ic_baseline_audiotrack_24
        else -> R.drawable.ic_baseline_attach_file_24
}
val imageRequest = ImageRequest.Builder(context)
        .data(drawable)
        .crossfade(true)
        .target(imageView)
        .build()

//blah-blah
// and somewhere deep inside code
imageLoader.enqueue(imageRequest)

但它不起作用。

我想应该有另一种方法,或者不ImageRequest支持本地drawable?

4

1 回答 1

1

基于线圈文档

所有请求都应设置数据(即url、uri、文件、可绘制资源等)。这就是 ImageLoader 将用来决定从哪里获取图像数据的内容。如果不设置数据,则默认为 NullRequestData。

看起来你做对了。我最终验证了它,你可以查看这个Github Repository。我试图重新创建您提到的问题并且它运行良好。请检查您的 imageView 的高度宽度或约束(如果您使用约束布局)布局。

于 2021-12-30T03:18:33.297 回答