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的提示会一直在。

阅读更多
个人分类: Xamarin
想对作者说点什么? 我来说一句

Xamarin.forms手写签名代码

2017年09月12日 11.36MB 下载

没有更多推荐了,返回首页

不良信息举报

Xamarin.Forms调用吐司

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭