自动加载框
Net支持发起请求的时候自动弹出和关闭对话框(Loading Dialog)
只需要使用scopeDialog
作用域即可.
scopeDialog {
tv_fragment.text = Post<String>("dialog") {
param("u_name", "drake") // 请求参数
param("pwd", "123456")
}.await()
}
加载框默认使用的是Android原生加载框(MaterialDesign Dialog), 当然也提供参数传入指定每个请求的对话框
想直接使用iOS风格的加载框可以使用: BubbleDialog
自定义加载框¶
在Application中配置Net时就可以设置默认的Dialog
initNet("http://182.92.97.186/") {
onDialog { // lambda返回一个Dialog对象
ProgressDialog(it).apply { // it 为 FragmentActivity
setMessage("正在努力请求中")
}
}
}
NetConfig.onDialog = { //
ProgressDialog(it).apply {
setMessage("请稍等")
}
}
如果仅修改加载框文本, 可以覆盖strings.xml
中定义的文本
<!--对话框-->
<string name="net_dialog_msg">加载中</string>
生命周期¶
生命周期 | 描述 |
---|---|
开始 | 执行scopeDialog 时显示加载框 |
自动结束 | 作用域内任务结束时关闭加载框 |
手动结束 | 加载框被手动取消时取消作用域内网络请求 |