在 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  的 异步接口和同步接口 对比起来不太好理解。

void Toast(string message);

void Toast(ToastConfig config);

IDisposable Snackbar(string message, Action action = null);

IDisposable Snackbar(SnackbarConfig config);

void Alert(string message);

void Alert(AlertConfig config);

IDisposable ActionSheet(ActionSheetConfig config);

IDisposable Loading(LoadingConfig config);

IProgressDialog Progress(ProgressConfig config);

void Prompt(PromptConfig config);

void Form(PromptFormConfig config);

使用方法:

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

AlertConfig.DefaultOkText = "确定"; 

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

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 再走呗

Xamarin.Forms之UserDialogs 重制版本的更多相关文章

  1. Xamarin.Forms 3.0的新特性

    近期因为工作关系开始使用Xamarin,翻译了两篇国外的介绍3.0新特性的文章,供大家参考. 第一篇文章来自Xamarin官网,原文地址:https://blog.xamarin.com/xamari ...

  2. 从零开始学Xamarin.Forms(一) 概述

    原文:从零开始学Xamarin.Forms(一) 概述     Xamarin 读 "ˈzæmərin",是一个基于开源项目mono的能够使用C#开发的收费的跨平台(iOS.And ...

  3. Xamarin.Forms 简介

    An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...

  4. 老司机学新平台 - Xamarin Forms开发框架之MvvmCross插件精选

    在前两篇老司机学Xamarin系列中,简单介绍了Xamarin开发环境的搭建以及Prism和MvvmCross这两个开发框架.不同的框架,往往不仅仅使用不同的架构风格,同时社区活跃度不同,各种功能模块 ...

  5. 老司机学新平台 - Xamarin Forms开发框架二探 (Prism vs MvvmCross)

    在上一篇Xamarin开发环境及开发框架初探中,曾简单提到MvvmCross这个Xamarin下的开发框架.最近又评估了一些别的,发现老牌Mvvm框架Prism现在也支持Xamarin Forms了, ...

  6. 为 Xamarin.Forms 做个跑马灯控件

    前段时间,私下用 Xamarin.Forms 做了个商业项目的演示版.很多被国内App玩坏了的控件/效果,XF上都没有或是找不到对应的实现,没有办法只能亲自上阵写了几个,效果还行,就是有BUG. 这个 ...

  7. Xamarin.Forms介绍

    On May 28, 2014, Xamarin introduced Xamarin.Forms, which allows you to write user-interface code tha ...

  8. Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

    Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...

  9. 演练:使用Xamarin.Forms开发产品介绍性质的应用(VB版)

    概述 Xamarin这个使用mono和.net core的跨平台开发框架这几年在不断发展.被微软收购后的Xamarin为个人开发者提供了免费版的Xamarin for Visual Studio,吸引 ...

随机推荐

  1. 在Activity中使用Menu

    1.右击res-->New-->Directory输入文件名menu,在此文件夹下新建main菜单文件:右击menu-->New-->Menu resource file 2. ...

  2. Unity3D版本之我见

    关心Unity版本的变化以及了解未来版本的内容是专业做Unity的同学必备的功课,下面我来说一下我对4.0以后版本的一些见解. v4.0: 这个版本比3.5有较大的跳跃,首先最大卖点是新的动作系统Me ...

  3. oracle导入数据和编码问题

    配置contrl文件 load data characterset utf8 append into table role_res_gold fields terminated by ';' TRAI ...

  4. Deep Learning 学习笔记(7):神经网络的求解 与 反向传播算法(Back Propagation)

    反向传播算法(Back Propagation): 引言: 在逻辑回归中,我们使用梯度下降法求参数方程的最优解. 这种方法在神经网络中并不能直接使用, 因为神经网络有多层参数(最少两层),(?为何不能 ...

  5. Oracle T4-2用jumpstart方式安装Solaris10

    在安装过程中遇到了2个问题 1) 安装时无法识别硬RAID磁盘 T4-2的2块本地盘做了硬RAID,用jumpstart安装时无法识别硬RAID磁盘,报错信息如下: {0} ok boot net - ...

  6. oracle:RETURNING 子句

    RETURNING 自己通常结合DML 语句使用.(INSERT UPDATE DELETE) 使用方法: UPDATE table_name SET expr1 RETURNING column_n ...

  7. ubuntu PCL的使用

    cmake_minimum_required(VERSION 2.8) project(MY_GRAND_PROJECT) find_package(PCL 1.3 REQUIRED COMPONEN ...

  8. c语言实践 1/1+1/2+1/3+1/4+...+1/n

    给定一个n求这个分式的和. int n = 1; float sum = 0; float frac = 0; int i = 1; scanf_s("%d",&n); w ...

  9. 特征选择Boruta

    A good feature subset is one that: contains features highly correlated with (predictive of) the clas ...

  10. python gridsearchcv 里的评价准则

    http://scikit-learn.org/stable/modules/model_evaluation.html 3.3.1. The scoring parameter: defining ...