void Update() { if (Input.inputString.Length > 0 && char.IsDigit(Input.inputString[0])) { _inputString += Input.inputString[0]; SnackBar.ShowMessage(_inputString, 3); } if (Input.GetKeyDown(KeyCode.Minus) || Input.GetKeyDown(KeyCode.KeypadMinus)) { var controller = BarSelector.CurrentlySelected.GetComponent <CharacterBarController>(); int newHpValue = controller.Character.Hp - int.Parse(_inputString); StartCoroutine(AlterHp(controller.Character.CharId, newHpValue)); _inputString = string.Empty; controller.Character.Hp = newHpValue; } if (Input.GetKeyDown(KeyCode.Plus) || Input.GetKeyDown(KeyCode.KeypadPlus)) { var controller = BarSelector.CurrentlySelected.GetComponent <CharacterBarController>(); int newHpValue = controller.Character.Hp + int.Parse(_inputString); StartCoroutine(AlterHp(controller.Character.CharId, newHpValue)); _inputString = string.Empty; controller.Character.Hp = newHpValue; } }
public static async Task <bool> DisplaySnackBarAsync(this Page page, string message, string actionButtonText, Func <Task> action, int durationMilliseconds = 3000) { _ = page ?? throw new ArgumentNullException(nameof(page)); var messageOptions = new MessageOptions { Message = message }; var actionOptions = new List <SnackBarActionOptions> { new SnackBarActionOptions { Text = actionButtonText, Action = action } }; var options = new SnackBarOptions { MessageOptions = messageOptions, Duration = TimeSpan.FromMilliseconds(durationMilliseconds), Actions = actionOptions, #if NETSTANDARD1_0 IsRtl = false, #else IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft, #endif }; var snackBar = new SnackBar(); await snackBar.Show(page, options); var isButtonClicked = await options.Result.Task; return(isButtonClicked); }
public static Task <bool> DisplaySnackBarAsync(this Page page, string message, string actionButtonText, Func <Task> action, int duration = 3000) { var messageOptions = new MessageOptions { Message = message }; var actionOptions = new List <SnackBarActionOptions> { new SnackBarActionOptions { Text = actionButtonText, Action = action } }; var args = new SnackBarOptions(messageOptions, duration, Color.Default, #if NETSTANDARD1_0 false, #else CultureInfo.CurrentCulture.TextInfo.IsRightToLeft, #endif actionOptions); var snackBar = new SnackBar(); snackBar.Show(page, args); return(args.Result.Task); }
/// <summary> /// Display snackbar with the default visual configuration /// </summary> /// <param name="visualElement">Anchor element</param> /// <param name="message">Text of the snackbar</param> /// <param name="actionButtonText">Text of the snackbar button</param> /// <param name="action">Action of the snackbar button</param> /// <param name="duration">Snackbar duration</param> /// <returns>True if snackbar action is executed. False if snackbar is closed by timeout</returns> public static async Task <bool> DisplaySnackBarAsync(this VisualElement visualElement, string message, string actionButtonText, Func <Task> action, TimeSpan?duration = null) { _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement)); var messageOptions = new MessageOptions { Message = message }; var actionOptions = new List <SnackBarActionOptions> { new () { Text = actionButtonText, Action = action } }; var options = new SnackBarOptions { MessageOptions = messageOptions, Duration = duration ?? TimeSpan.FromSeconds(3), Actions = actionOptions, #if NETSTANDARD1_0 IsRtl = false, #else IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft, #endif }; var snackBar = new SnackBar(); await snackBar.Show(visualElement, options); var result = await options.Result.Task; return(result); }
public static Task <bool> DisplaySnackBarAsync(this Page page, string message, string actionButtonText, Func <Task> action, int durationMilliseconds = 3000) { var messageOptions = new MessageOptions { Message = message }; var actionOptions = new List <SnackBarActionOptions> { new SnackBarActionOptions { Text = actionButtonText, Action = action } }; var options = new SnackBarOptions { MessageOptions = messageOptions, Duration = TimeSpan.FromMilliseconds(durationMilliseconds), Actions = actionOptions, #if NETSTANDARD1_0 IsRtl = false, #else IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft, #endif }; var snackBar = new SnackBar(); snackBar.Show(page, options); return(options.Result.Task); }
public override Widget build(BuildContext context) { TextStyle textStyle = Theme.of(context).textTheme.display1; return(new Card( color: Colors.white, child: new Center( child: new Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.center, children: new List <Widget> { new Icon(this.choice.icon, size: 128.0f, color: textStyle.color), new RaisedButton( child: new Text(this.choice.title, style: textStyle), onPressed: () => { SnackBar snackBar = new SnackBar( content: new Text(this.choice.title + " is chosen !"), action: new SnackBarAction( label: "Ok", onPressed: () => { })); Scaffold.of(context).showSnackBar(snackBar); }) } ) ) )); }
public static Task <bool> DisplaySnackBarAsync(this Page page, SnackBarOptions snackBarOptions) { var snackBar = new SnackBar(); var arguments = snackBarOptions ?? new SnackBarOptions(); snackBar.Show(page, arguments); return(arguments.Result.Task); }
public static Task <bool> DisplaySnackbar(this Page page, string message, int duration = 3000, string actionButtonText = null, Func <Task> action = null) { var args = new SnackbarArguments(message, duration, actionButtonText, action); var snackBar = new SnackBar(); snackBar.Show(page, args); return(args.Result.Task); }
public static Task <bool> DisplayToastAsync(this Page page, ActionOptions actionOptions) { var snackBar = new SnackBar(); var arguments = actionOptions ?? new ActionOptions(); var options = new SnackBarOptions(arguments.MessageOptions, arguments.Duration, arguments.BackgroundColor, arguments.IsRtl, null); snackBar.Show(page, options); return(options.Result.Task); }
public void AddUnit(int unitId) { Unit unit = Units.First(u => u.UnitId == unitId); MyUnits.Add(new UserUnit { UnitId = unit.UnitId, HitPoints = unit.HitPoints }); SnackBar.Add($"Unit:{unit.Title} Added Successfully!", Severity.Success); }
public void OnClick(View v) { SnackBar snack = new SnackBar(activity, "Do you want change color of this button to red?", "yes", delegate { ButtonFlat btn = (ButtonFlat)activity.FindViewById(Resource.Id.buttonSnackBar); btn.SetTextColor(Color.Red); }); snack.Show(); }
public static Task <bool> DisplaySnackBarAsync(this Page page, SnackBarOptions snackBarOptions) { _ = page ?? throw new ArgumentNullException(nameof(page)); var snackBar = new SnackBar(); var arguments = snackBarOptions ?? new SnackBarOptions(); snackBar.Show(page, arguments); return(arguments.Result.Task); }
/// <summary> /// Display snackbar with custom configuration /// </summary> /// <param name="visualElement">Snackbar anchor</param> /// <param name="snackBarOptions">Snackbar options</param> /// <returns>True if snackbar action is executed. False if snackbar is closed by timeout</returns> public static async Task <bool> DisplaySnackBarAsync(this VisualElement visualElement, SnackBarOptions snackBarOptions) { _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement)); var snackBar = new SnackBar(); await snackBar.Show(visualElement, snackBarOptions); var result = await snackBarOptions.Result.Task; return(result); }
public void SendMessage(string message, SnackBar snackBar) { if (snackBar == _northSnackBar) { _southSnackBar.Notify(message); } else { _northSnackBar.Notify(message); } }
private void UserLogin(IHavePassword parameter) { Task.Run(() => { if (IsVisitorLogin == true)//游客登录 { Applicate.URLDATA.data.apiUrl = ConfigurationUtil.GetValue("InitialServer") + "/"; VisitorKey = ConfigurationUtil.GetValue("InitialServer_key"); int index = VisitorKey.LastIndexOf("?"); VisitorKey = VisitorKey.Substring(index + 1); int index2 = VisitorKey.LastIndexOf("="); VisitorKey = VisitorKey.Substring(index2 + 1); VisitorLogin(); return; } //接收用户名和密码 string password; if (IsRememberPwd && TruePasswordWhenRemembered != null && !IsCancelRememberPwdAndTextNewPwd) //如果当前处于记住有效密码 且 不为加载密码后重新输入的密码 { password = TruePasswordWhenRemembered; //使用数据库密码 //parameter.LoginSecurePassword = TruePasswordWhenRemembered.ToSecureString(); } else//没记住密码 或 { password = parameter.LoginSecurePassword.UnSecure();//使用文本框内密码 } EnabledLogin = false;//暂时禁用登录 //获取经纬度 string Longitude = "0"; string Latitude = "0"; if (Location.IsUnknown != true) { Longitude = Location.Longitude.ToString(); Latitude = Location.Latitude.ToString(); } try { var client = ShiKuManager.ShiKuLogin(UserId, password, Latitude, Longitude, GobalAreaList[SelectedCountryCode].prefix.ToString()); client.UploadDataCompleted += LoginComplete; } catch (Exception ex) { SnackBar.Enqueue("登录失败:" + ex.Message, "重试", () => { LoginCommand.Execute(Applicate.GetWindow <IHavePassword>()); }); Console.WriteLine("登录失败:" + ex.Message); EnabledLogin = true;//启用登录 } }); }
/// <summary> /// 注册成功 /// </summary> /// <param name="sender">Client</param> /// <param name="e"></param> private void RegisterComplete(object sender, UploadDataCompletedEventArgs e) { Task.Run(() => { if (e.Error == null) { string result = Encoding.UTF8.GetString(e.Result); var resuser = JsonConvert.DeserializeObject <RegisterModel>(result); Task.Run(() => { var client = ShiKuManager.UploadAvator(resuser.Data.userId, UploadfilePath); client.UploadDataCompleted += (sen, eve) => { if (eve.Error == null) { string restxt = Encoding.UTF8.GetString(eve.Result); var resavator = JsonConvert.DeserializeObject <JsonBase>(restxt); if (resavator.resultCode == 1) { App.Current.Dispatcher.Invoke(() => { LoginPageIndex = 0; SnackBar.Enqueue("注册成功"); UserId = PhoneNumber; InitialRegisterProperties();//重置注册页面 EnabledRegister = true; }); } else { SnackBar.Enqueue(resuser.resultMsg, true); //提示错误信息 App.Current.Dispatcher.Invoke(() => { EnabledRegister = true; }); //启用注册 } } else { SnackBar.Enqueue(eve.Error.Message); App.Current.Dispatcher.Invoke(() => { EnabledRegister = true; });//启用注册 } }; }); } else { SnackBar.Enqueue("注册失败:" + e.Error.Message); App.Current.Dispatcher.Invoke(() => { EnabledRegister = true; }); ConsoleLog.Output("注册失败:" + e.Error.Message); } }); }
public static async Task <bool> DisplaySnackBarAsync(this Page page, SnackBarOptions snackBarOptions) { _ = page ?? throw new ArgumentNullException(nameof(page)); var snackBar = new SnackBar(); var options = snackBarOptions ?? new SnackBarOptions(); await snackBar.Show(page, options); var isButtonClicked = await options.Result.Task; return(isButtonClicked); }
public void ShowToast(string message) => Device.InvokeOnMainThreadAsync(() => { var snackbar = new SnackBar { Message = message, LeftMargin = 25f, RightMargin = 25f, BottomMargin = 25f, BackgroundColor = Color.Gray.ToUIColor(), Duration = TimeSpan.FromSeconds(3), AnimationType = SnackbarAnimationType.FadeInFadeOut }; snackbar.Show(); });
public static Task DisplayToastAsync(this Page page, ToastOptions toastOptions) { var snackBar = new SnackBar(); var arguments = toastOptions ?? new ToastOptions(); var options = new SnackBarOptions { MessageOptions = arguments.MessageOptions, Duration = arguments.Duration, BackgroundColor = arguments.BackgroundColor, IsRtl = arguments.IsRtl }; snackBar.Show(page, options); return(options.Result.Task); }
private void ShowSnackMethod(object obj) { SnackBar.Show(new Snack() { Duration = 10000, Background = Color.FromHex("#DF8049"), TextColor = Color.White, ActionTextColor = Color.White, Text = "Excellent Work!!", ActionText = "Ok", Action = (aobj) => { SnackBar.Close(); } }); }
/// <summary> /// Display toast with the custom options /// </summary> /// <param name="visualElement">Toast anchor</param> /// <param name="toastOptions">Toast options</param> /// <returns>Task</returns> public static async Task DisplayToastAsync(this VisualElement visualElement, ToastOptions toastOptions) { _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement)); var snackBar = new SnackBar(); var options = new SnackBarOptions { MessageOptions = toastOptions.MessageOptions, Duration = toastOptions.Duration, BackgroundColor = toastOptions.BackgroundColor, IsRtl = toastOptions.IsRtl }; await snackBar.Show(visualElement, options); await options.Result.Task; }
/// <summary> /// 用户注册 /// </summary> /// <param name="parameter">包含密码的Login对象</param> private void UserRegisterAccount(IHavePassword parameter) { if (UploadfilePath == null) { SnackBar.Enqueue("请选择头像!"); return; } if (rNickname == null || rNickname.Trim() == "") { SnackBar.Enqueue("昵称不能为空!"); return; } if (parameter.FirstRegisterSecurePassword.UnSecure().Length < 6) { SnackBar.Enqueue("密码长度不能小于6位!"); return; } if (parameter.FirstRegisterSecurePassword.UnSecure() != parameter.FinalRegisterSecurePassword.UnSecure()) { SnackBar.Enqueue("两次输入密码不一致!"); return; } /* * else if (string.IsNullOrEmpty(AvatorPath)) * { * SnackBar.Enqueue("请选择需要上传的头像!"); * return; * } */ HttpClient client = APIHelper.RegisterAccountAsync( PhoneNumber, GobalAreaList[RSelectedCountryCode].prefix.ToString(), parameter.FinalRegisterSecurePassword.UnSecure(), RNickname, gender, Helpers.DatetimeToStamp(BornDate), SelectedCountry, SelectedProvince, SelectedCity, SelectedArea); EnabledRegister = false;//暂时禁用控件 //指定注册成功事件 client.UploadDataCompleted += RegisterComplete; }
public static async Task DisplayToastAsync(this Page page, ToastOptions toastOptions) { _ = page ?? throw new ArgumentNullException(nameof(page)); var snackBar = new SnackBar(); var arguments = toastOptions ?? new ToastOptions(); var options = new SnackBarOptions { MessageOptions = arguments.MessageOptions, Duration = arguments.Duration, BackgroundColor = arguments.BackgroundColor, IsRtl = arguments.IsRtl }; await snackBar.Show(page, options); await options.Result.Task; }
private void toggleUndoDeletion(bool show) { if (snackBar != null) { snackBar.Hide(); snackBar = null; } if (!show) { return; } snackBar = SnackBar.Factory.CreateUndoSnackBar( onUndo: () => ViewModel.TimeEntriesViewModel.CancelDeleteTimeEntry.Execute(Unit.Default)); snackBar.SnackBottomAnchor = StartTimeEntryButton.TopAnchor; snackBar.Show(superView: View); }
public static Task DisplayToastAsync(this Page page, string message, int durationMilliseconds = 3000) { var messageOptions = new MessageOptions { Message = message }; var args = new SnackBarOptions { MessageOptions = messageOptions, Duration = TimeSpan.FromMilliseconds(durationMilliseconds), #if NETSTANDARD1_0 IsRtl = false, #else IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft, #endif }; var snackBar = new SnackBar(); snackBar.Show(page, args); return(args.Result.Task); }
private void LoginComplete(object sender, UploadDataCompletedEventArgs e) { if (e.Error == null)//网络正常 { string res = Encoding.UTF8.GetString(e.Result); var curruser = JsonConvert.DeserializeObject <Jsonuser>(res); //获取登录用户详情 var client = (HttpClient)sender; string pwd = client.Tag3.ToString(); //获取密码 if (curruser != null && curruser.resultCode == 1) { Task.Run(() => { var dblocalUser = new LocalUser(); //保存最近消息 dblocalUser.LastLoginTime = Helpers.DatetimeToStamp(DateTime.Now); //记录登录时间 dblocalUser.Telephone = UserId; //电话号码 dblocalUser.UserId = curruser.data.userId; //UserId if (IsRememberPwd) //如果选中记住密码(保存密文密码到数据库) { dblocalUser.Password = pwd; //存储密码 dblocalUser.PasswordLength = pwd.Length; //密码长度 } dblocalUser.InsertOrUpdatePassword(); //写入数据库 //成功后关闭登录 Messenger.Default.Send(true, Login.CloseWindow); }); } else { //如ResultCode不为1的话,就输出错误信息,,,,,,并在界面给予提示 SnackBar.Enqueue(curruser.resultMsg, true); EnabledLogin = true;//失败后启用登录按-钮 } } else//网络错误 { var error = e.Error as WebException; SnackBar.Enqueue("登录失败!\n" + error.Message, false); EnabledLogin = true;//失败后启用登录按钮 } }
public ControllerPage() { NavigationPage.SetHasNavigationBar(this, false); _DefaultLayout = new AbsoluteLayout(); _ConnectionStateSnackBar = new SnackBar(); _ConnectionManager = DependencyService.Get <IConnectionManager>(); if (_ConnectionManager.ControllerConnection == null || _ConnectionManager.ControllerConnection.ConnectionEstablishState == ConnectionEstablishState.Created) { _ConnectionStateSnackBar.BarType = BarType.Error; } else if (_ConnectionManager.ControllerConnection.ConnectionEstablishState == ConnectionEstablishState.Connecting) { _ConnectionStateSnackBar.BarType = BarType.Warning; } else if (_ConnectionManager.ControllerConnection.ConnectionEstablishState == ConnectionEstablishState.Succeeded) { _ConnectionStateSnackBar.IsVisible = false; } Content = _DefaultLayout; _DefaultLayout.Children.Add(_ConnectionStateSnackBar); }
/// <summary> /// Display toast with the default visual configuration /// </summary> /// <param name="visualElement">Toast anchor</param> /// <param name="message">Toast text</param> /// <param name="durationMilliseconds">Toast duration (milliseconds)</param> /// <returns>Task</returns> public static async Task DisplayToastAsync(this VisualElement visualElement, string message, int durationMilliseconds = 3000) { _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement)); var messageOptions = new MessageOptions { Message = message }; var args = new SnackBarOptions { MessageOptions = messageOptions, Duration = TimeSpan.FromMilliseconds(durationMilliseconds), #if NETSTANDARD1_0 IsRtl = false, #else IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft, #endif }; var snackBar = new SnackBar(); await snackBar.Show(visualElement, args); await args.Result.Task; }
/// <summary> /// 游客登录 /// </summary> private void VisitorLogin() { //获取经纬度 string Longitude = "0"; string Latitude = "0"; if (Location.IsUnknown != true) { Longitude = Location.Longitude.ToString(); Latitude = Location.Latitude.ToString(); } try { var client = ShiKuManager.ShiKuVisitorLogin(VisitorKey, Latitude, Longitude); client.UploadDataCompleted += VisitorLoginComplete; } catch (Exception ex) { SnackBar.Enqueue("登录失败:" + ex.Message, "重试", () => { LoginCommand.Execute(Applicate.GetWindow <IHavePassword>()); }); Console.WriteLine("登录失败:" + ex.Message); EnabledLogin = true;//启用登录 } }
private void toggleUndoDeletion(int?numberOfTimeEntriesPendingDeletion) { if (snackBar != null) { snackBar.Hide(); snackBar = null; } if (!numberOfTimeEntriesPendingDeletion.HasValue) { return; } var undoText = numberOfTimeEntriesPendingDeletion > 1 ? String.Format(Resources.MultipleEntriesDeleted, numberOfTimeEntriesPendingDeletion) : Resources.EntryDeleted; snackBar = SnackBar.Factory.CreateUndoSnackBar( onUndo: () => ViewModel.TimeEntriesViewModel.CancelDeleteTimeEntry.Execute(Unit.Default), text: undoText); snackBar.SnackBottomAnchor = StartTimeEntryButton.TopAnchor; snackBar.Show(superView: View); }