自动加载框
Net支持发起请求开始时显示加载框, 请求结束时隐藏加载框(无论成败)
自动显示¶
scopeDialog {
tv.text = Post<String>(Api.PATH) {
param("username", "用户名") // 请求参数
param("pwd", "123456")
}.await()
}
默认是原生加载框(MaterialDesign Dialog), 可自定义
单例自定义¶
指定当前请求加载框
val dialog = BubbleDialog(requireActivity(), "加载中")
scopeDialog(dialog) {
tv.text = Post<String>(Api.PATH) {
param("username", "用户名")
param("pwd", "123456")
}.await()
}
菊花加载对话框
示例使用的iOS风格对话框: BubbleDialog
全局自定义¶
初始化时指定加载对话框构造器NetDialogFactory
NetConfig.initialize(Api.HOST, this) {
setDialogFactory {
ProgressDialog(it).apply {
setMessage("我是全局自定义的加载对话框...")
}
}
}
如仅修改加载对话框文本, 在项目values
目录的strings.xml添加以下
生命周期¶
使用scopeDialog
发起请求后, 分为三个生命周期
加载框状态 | 作用域 |
---|---|
显示 | 执行scopeDialog 时显示加载框 |
隐藏 | 作用域内任务结束时隐藏加载框 |
手动取消 | 取消作用域内所有网络请求 |