Xamarin.Forms调用吐司

     大家好,今天给大家介绍Xamarin.Forms底下调用吐司。


    所谓的吐司,就是Toast,安卓底下有自带的吐司Toast,就是给用户提示信息,并且过一段时间后会自动消失。但自带的吐司有些简陋,今天我们要讲的是引用第三方库,下面具体介绍:


1.分平台底下下载程序包:

1.1 安卓平台:

安卓吐司

1.2 iOS平台:

iOS吐司


2.在可移植平台底下创建接口:

public interface iHUD//吐司接口
   {
       void Show_Status_Message(string StatusMessage);//显示正在加载状态
       void Show_success(string Message);//显示成功
       void Show_Error(string Message);//显示错误
       void Show_Toast(string Message);//显示自定义吐司
       void Show_Dismiss();//显示取消,和Status_Message配套使用
   }

3.分平台底下实现接口:

3.1 安卓平台:

using AndroidHUD;
[assembly:Xamarin.Forms.Dependency(typeof(UIApp.Droid.AndroidHUD))]
namespace UIApp.Droid
{
    public class AndroidHUD : iHUD
    {
        /// <summary>
        /// 关闭
        /// </summary>
        public void Show_Dismiss()
        {
            AndHUD.Shared.Dismiss();
        }
        /// <summary>
        /// 显示一个错误图像与一个模糊的背景的消息,并自动排除后2秒
        /// </summary>
        /// <param name="Message"></param>
        public void Show_Error(string Message)
        {
            AndHUD.Shared.ShowError(Forms.Context,Message,MaskType.Clear, TimeSpan.FromSeconds(2));
        }
        /// <summary>
        /// 显示旋转 + 文本
        /// </summary>
        /// <param name="StatusMessage"></param>

        public void Show_Status_Message(string StatusMessage)
        {
            AndHUD.Shared.Show(Forms.Context,StatusMessage,-1,MaskType.Clear);
        }
        /// <summary>
        /// 一个成功的图像显示一个消息,有一个明确的背景,并自动排除后2秒
        /// </summary>
        /// <param name="Message"></param>

        public void Show_success(string Message)
        {
            AndHUD.Shared.ShowSuccess(Forms.Context, Message, MaskType.Clear, TimeSpan.FromSeconds(2));
        }
        /// <summary>
        /// 显示一个安卓风格的吐司
        /// </summary>
        /// <param name="Message"></param>

        public void Show_Toast(string Message)
        {
            AndHUD.Shared.ShowToast(Forms.Context, Message, MaskType.Clear, TimeSpan.FromSeconds(2));
        }
    }
}

3.2 iOS平台

using BigTed;
[assembly:Xamarin.Forms.Dependency(typeof(UIApp.iOS.iOSHUD))]
namespace UIApp.iOS
{
    public class iOSHUD : iHUD
    {
        public void Show_Dismiss()
        {
            BTProgressHUD.Dismiss();
        }

        public void Show_Error(string Message)
        {
            BTProgressHUD.ForceiOS6LookAndFeel = true;
            BTProgressHUD.ShowErrorWithStatus(Message,2000);
        }

        public void Show_Status_Message(string StatusMessage)
        {
            BTProgressHUD.ForceiOS6LookAndFeel = true;
            BTProgressHUD.ShowSuccessWithStatus(StatusMessage);
        }

        public void Show_success(string Message)
        {
            BTProgressHUD.ForceiOS6LookAndFeel = true;
            BTProgressHUD.ShowSuccessWithStatus(Message,2000);
        }

        public void Show_Toast(string Message)
        {
            BTProgressHUD.ForceiOS6LookAndFeel = true;
            BTProgressHUD.ShowErrorWithStatus(Message,2000);
        }
    }
}

    接口实现里面可以调节吐司提示存在的时间,这里设置成2秒,需要注意的是,这里的吐司提示会占用你2秒的时间,也就是说,在提示的这两秒内,你对应用的操作都是无效的(比如点击屏幕,按物理返回键啥的都没用)。

4. 可移植平台底下调用:

 iHUD hud = DependencyService.Get<iHUD>();
hud.Show_success("成功!");
hud.Show_Error("失败!");
hud.Show_Status_Message("正在加载,请稍后......");
hud.Show_Dismiss();

    这里要注意的是Show_Status_Message()和Show_Dismiss()要配套使用,一个是提示加载,等到加载完后调用Show_Dissmiss(),不然StatusMessage的提示会一直在。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值