Xamarin Forms中Acr.UserDialogs的Progress对话框不显示百分比如何解决
Acr.UserDialogs进度对话框不显示百分比解决方案
问题核心原因
ProgressDialogConfig默认IsDeterministic属性值为false,处于不确定进度模式,此时只会展示加载动画,不会渲染进度条和百分比数值,表现和Loading对话框完全一致。
修复步骤
- 实例化配置项时显式开启确定进度模式,核心配置
IsDeterministic = true,如需显式控制百分比文本显示可额外配置IsPercentageVisible属性 - 确认各平台已完成Acr.UserDialogs初始化,避免平台端渲染异常:
- Android端:在MainActivity的
OnCreate方法中调用UserDialogs.Init(this, savedInstanceState) - iOS端:在AppDelegate的
FinishedLaunching方法中调用UserDialogs.Init()
- Android端:在MainActivity的
- 如Android端样式仍异常,确认项目主题继承自
Theme.AppCompat系列,该库进度条依赖AppCompat样式渲染
修正后代码示例
using Acr.UserDialogs; ... ProgressDialogConfig pdc = new ProgressDialogConfig() { Title = "Hello", AutoShow = true, IsDeterministic = true, // 必须配置,开启确定进度模式 IsPercentageVisible = true // 可选,显式开启百分比文本显示 }; ProgDlg = UserDialogs.Instance.Progress(pdc); ProgDlg.PercentComplete = 33;
后续动态更新进度时直接修改ProgDlg.PercentComplete属性即可,库内部会自动刷新界面。
内容的提问来源于stack exchange,提问作者dlchambers
相关产品推荐
相关产品推荐

