通过 DisplayRequest 提供的 listener 和 progressListener 得到状态和进度然后显示即可,如下:
imageView.displayImage("https://www.sample.com/image.jpg") {
listener(
onStart = { request: DisplayRequest ->
// ...
},
onSuccess = { request: DisplayRequest, result: DisplayResult.Success ->
// ...
},
onError = { request: DisplayRequest, result: DisplayResult.Error ->
// ...
},
onCancel = { request: DisplayRequest ->
// ...
},
)
progressListener { request: DisplayRequest, totalLength: Long, completedLength: Long ->
// ...
}
}
注意:
- 所有方法都将在主线程回调
需要导入 sketch-extensions 模块
sketch-extensions 模块提供的 SketchImageView 支持多种样式显示下载进度,如下:
// 在 SketchImageView 最上层显示一层浅黑色半透明蒙层,蒙层随着进度的进行从上到下消失
sketchImageView.showMaskProgressIndicator()
// 在 SketchImageView 最上层显示一个扇形的进度条
sketchImageView.showSectorProgressIndicator()
// 在 SketchImageView 最上层显示一个环形的进度条
sketchImageView.showRingProgressIndicator()
注意:
- 以上三种任选其一即可
- 下载进度功能由 ProgressIndicatorAbility 实现