经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C# » 查看文章
Xamarin.Forms之UserDialogs 重制版本
来源:cnblogs  作者:Passingwind  时间:2018/12/17 9:51:45  对本文有异议

在 forms 里面,目前使用比较多的弹出组件是 Acr.UserDialogs ,但是这个组件有些小问题,比如 loading .hide 会同时把 toast 给一起关掉,android 下的 toast 希望是 安卓原生的toast 样子,而不是 底部弹出一个横条(其实是 android 的 Snackbar),对于 ios 的toast 也希望类似android 的样子,但是 Acr.UserDialogs 里面 toast 是 snackbar 样式,这并不符合产品需求情况。

 

GitHub地址: https://github.com/jxnkwlp/UserDialogs2

 

因此,我重制了一个版本, 包地址:https://www.nuget.org/packages/Passingwind.UserDialogs/

对 toast 和 snackbar 做了区分,同时 loading 的关闭不会影响 toast 。

 

接口有这些:

目前没有异步接口,因为觉得 Acr.UserDialogs  的 异步接口和同步接口 对比起来不太好理解。

  1. void Toast(string message);
  2. void Toast(ToastConfig config);
  3. IDisposable Snackbar(string message, Action action = null);
  4. IDisposable Snackbar(SnackbarConfig config);
  5. void Alert(string message);
  6. void Alert(AlertConfig config);
  7. IDisposable ActionSheet(ActionSheetConfig config);
  8. IDisposable Loading(LoadingConfig config);
  9. IProgressDialog Progress(ProgressConfig config);
  10. void Prompt(PromptConfig config);
  11. void Form(PromptFormConfig config);

 

使用方法:

各个接口 Config 都可以先设置默认值,比如 alert 里面 的确定按钮,可以全局设置为 “确定”

  1. AlertConfig.DefaultOkText = "确定";

 

这样设置后,就不用每次使用alert 的时候去设置 确定按钮的文本。

  1. UserDialogs.Instance.Alert(new AlertConfig("您当前无权限操作!").AddOkButton());

 

相关依赖:

Toast:  在android 上是原生的 toast 组件,在ios 上使用 MBProgressHUD

Snackbar:  在android 上是原生的 snackbar 组件,在ios 上使用 TTGSnackbar

Progress,Loading  在 android 上使用的是 KProgressHUD (https://github.com/jxnkwlp/KProgressHUD.csharp) 这个是代码翻译版本,  在 ios 上是使用 MBProgressHUD

 

更多说明可以查看 readme 文件 https://github.com/jxnkwlp/UserDialogs2

 

最后,觉得好给个star 再走呗 ?? ~~~

 

原文链接:https://blog.wuliping.cn/post/rebuild-userdialogs-for-xamarin

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号