翻译:English
ImageOptions 用来批量定义图片请求配置,支持 ImageRequest 全部图片相关属性
可以在以下位置使用 ImageOptions:
- Target.getImageOptions()
- SketchImageView.imageOptions
- rememberAsyncImageState(ImageOptions)
- ImageRequest.Builder.merge(ImageOptions)/default(ImageOptions)
- Sketch.Builder.globalImageOptions(ImageOptions)
最终在构建 ImageRequest 时相同属性的优先级为:
- ImageRequest.Builder
- Target.getImageOptions()
- ImageRequest.Builder.default(ImageOptions)
- Sketch.globalImageOptions
Global:
Sketch.Builder(context).apply {
globalImageOptions(ImageOptions {
placeholer(R.drawable.placeholder)
error(R.drawable.error)
// more ...
})
}.build()
View:
sketchImageView.imageOptions = ImageOptions {
placeholer(R.drawable.placeholder)
// more ...
}
ImageRequest:
ImageRequest(context, "https://example.com/image.jpg") {
merge(ImageOptions {
placeholer(R.drawable.placeholder)
error(R.drawable.error)
// more ...
})
default(ImageOptions {
placeholer(R.drawable.placeholder)
error(R.drawable.error)
// more ...
})
}
AsyncImageState:
val state = rememberAsyncImageState(ComposableImageOptions {
placeholer(Res.drawable.placeholder)
error(Res.drawable.error)
// more ...
})
AsyncImage(
uri = "https://example.com/image.jpg",
contentDescription = "",
state = state,
)