你可以创建任意你想要的UI布局(参考 view_update_dialog_custom.xml) ,但是控件id需要保持如下:
id | 说明 | 控件类型 | 是否必须 |
---|---|---|---|
btn_update_sure | 立即更新按钮id | 任意View | true |
btn_update_cancel | 暂不更新按钮id | 任意View | true |
tv_update_title | 更新弹窗标题 | TextView | false |
tv_update_content | 更新内容 | TextView | false |
btn_update_sure和btn_update_cancel是必须提供的,否则更新无法继续;
tv_update_title,tv_update_content提供,UpdateAppUtils内部会自动 设置值,如果你不想这样,也可以自行命名,稍后通过OnInitUiListener接口进行相关文案设置;
通过设置uiConfig,将自定义布局注入到UpdateAppUtils;注意uiType必须为UiType.CUSTOM
UpdateAppUtils
.getInstance()
// ...
.uiConfig(UiConfig(uiType = UiType.CUSTOM, customLayoutId = R.layout.view_update_dialog_custom))
.update()
UpdateAppUtils 中只对上表中的4个控件进行了相关内容的填充,如果你自定义的布局中有其他控件需要进行内容填充 需要实现OnInitUiListener接口来进行操作:
UpdateAppUtils
.getInstance()
// ...
.setOnInitUiListener(object : OnInitUiListener {
override fun onInitUpdateUi(view: View?, updateConfig: UpdateConfig, uiConfig: UiConfig) {
view?.findViewById<TextView>(R.id.tv_update_title)?.text = "版本更新啦"
view?.findViewById<TextView>(R.id.tv_version_name)?.text = "V2.0.0"
// do more...
}
})