我正试图将Coil的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?
基于线圈文档
所有请求都应该设置数据(即url、uri、文件、可提取资源、,等等(。这是ImageLoader将用来决定在哪里获取的内容来自的图像数据。如果不设置数据,它将默认为NullRequestData。
看起来你做得很正确。我在我的端验证了它,你可以签出这个Github存储库。我试图重现你提到的问题,但效果很好。请查看imageView的高度宽度或约束(如果使用约束布局(布局。