using System; using HDL_ON.UI.CSS; using HDL_ON.UI.Music; using Shared; namespace HDL_ON.UI.UI2.FuntionControlView.Video.View { public class ShowDialog { private static ShowDialog showDialog; public static ShowDialog Currnet { get { if (showDialog == null) { showDialog = new ShowDialog(); } return showDialog; } } public Dialog dialog; /// /// /// /// 标题 /// 回调函数 /// 回调函数 public void ClickBox(string title, Action jieTingAction, Action guanBiAction) { if (dialog != null) { //防止二重界面 dialog.Close(); } dialog = new Dialog() { BackgroundColor = MusicColor.PopupBackgroundColor, }; FrameLayout whiteView = new FrameLayout() { X = Application.GetRealWidth(56), Y = Application.GetRealHeight(261), Width = Application.GetRealWidth(263), Height = Application.GetRealHeight(145), BackgroundColor = MusicColor.WhiteColor, BorderColor = 0x00000000, BorderWidth = 0, Radius = (uint)Application.GetRealHeight(16), }; dialog.AddChidren(whiteView); Button dianhuaIconBtn = new Button { X = Application.GetRealWidth(46), Y = Application.GetRealHeight(20), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "VideoIcon/phone.png", }; whiteView.AddChidren(dianhuaIconBtn); Button btnTitle = new Button() { Y = Application.GetRealHeight(25), X = Application.GetRealWidth(86), Height = Application.GetRealHeight(22), Width = Application.GetRealWidth(150), TextColor = MusicColor.TextColor, TextSize = TextSize.Text16, TextAlignment = TextAlignment.CenterLeft, Text = title, }; whiteView.AddChidren(btnTitle); Button guaduanIconBtn = new Button { X = Application.GetRealWidth(75), Y = Application.GetRealHeight(68), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "VideoIcon/hangup.png", }; whiteView.AddChidren(guaduanIconBtn); Button jietingIconBtn = new Button { X = Application.GetRealWidth(157), Y = Application.GetRealHeight(68), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "VideoIcon/answer.png", }; whiteView.AddChidren(jietingIconBtn); dialog.Show(); guaduanIconBtn.MouseUpEventHandler += (sender, e) => { guanBiAction(dialog); }; jietingIconBtn.MouseUpEventHandler += (sender, e) => { jieTingAction(dialog); }; } /// /// 初始化Dialog /// /// 标题 /// 提示信息 /// /// /// /// public void ShowDialogBase(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm, bool isAlarmColor = false) { if (dialog != null) { //防止二重界面 dialog.Close(); } dialog = new Dialog() { BackgroundColor = MusicColor.PopupBackgroundColor, }; var bodyView = new FrameLayout(); dialog.AddChidren(bodyView); FrameLayout contentView = new FrameLayout() { Gravity = Gravity.Center, Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(140), BackgroundColor = CSS_Color.MainBackgroundColor, BorderColor = 0x00000000, BorderWidth = 0, Radius = (uint)Application.GetMinRealAverage(10), }; bodyView.AddChidren(contentView); Button btnTitle = new Button() { Y = Application.GetRealHeight(20), Height = Application.GetRealHeight(22), TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, Text = titleStr, }; contentView.AddChidren(btnTitle); int Width135 = Application.GetRealWidth(135); //提示内容按钮 Button btnMsg = new Button() { Y = btnTitle.Bottom + Application.GetRealHeight(4), X = Application.GetRealWidth(6), Height = Application.GetRealHeight(46), Width = Application.GetRealWidth(258), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = msgStr, IsMoreLines = true, }; contentView.AddChidren(btnMsg); Button btnLine = new Button() { Y = Application.GetRealHeight(96), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(270 / 2), BackgroundColor = CSS_Color.DividingLineColor, }; contentView.AddChidren(btnLine); Button btnCancel = new Button() { Y = btnLine.Bottom, Width = Width135, Height = Application.GetRealHeight(43), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = cancelID, }; contentView.AddChidren(btnCancel); Button btnConfirm = new Button() { X = contentView.Width - Width135, Y = btnLine.Y, Width = Width135, Height = Application.GetRealHeight(45), TextAlignment = TextAlignment.Center, //TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.MainBackgroundColor, BackgroundColor = CSS_Color.MainColor, TextID = confirmID, }; contentView.AddChidren(btnConfirm); //例:右下圆角 大小为50 int mRectCornerID = HDLUtils.RectCornerBottomRight; btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID); btnCancel.MouseUpEventHandler += (sender, e) => { dialog.Close(); cancelAction?.Invoke(); }; btnConfirm.MouseUpEventHandler += (sender, e) => { dialog.Close(); okAction?.Invoke(); }; if (isAlarmColor) { btnTitle.TextColor = CSS_Color.WarningColor; btnConfirm.TextColor = CSS_Color.MainBackgroundColor; btnConfirm.BackgroundColor = CSS_Color.WarningColor; } } /// /// 生成二维码 /// /// 标题 public void QRcode(string str1) { Dialog dialog = new Dialog() { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; FrameLayout frameLayout = new FrameLayout { }; dialog.AddChidren(frameLayout); FrameLayout whiteView = new FrameLayout() { X = Application.GetRealWidth(56), Y = Application.GetRealHeight(199), Width = Application.GetRealWidth(282), Height = Application.GetRealHeight(316), BackgroundColor = MusicColor.WhiteColor, Radius = (uint)Application.GetRealHeight(16), }; frameLayout.AddChidren(whiteView); //临时密码 Button btnTitle = new Button() { Y = Application.GetRealHeight(32), Height = Application.GetRealHeight(22), TextColor = MusicColor.TextColor, TextSize = TextSize.Text16, TextAlignment = TextAlignment.Center, IsBold = true, TextID = StringId.linshimima, }; whiteView.AddChidren(btnTitle); //密码 Button btnpaw = new Button() { X = Application.GetRealWidth(100), Y = Application.GetRealHeight(62), Height = Application.GetRealHeight(32), Width = Application.GetRealWidth(82), TextColor = MusicColor.SelectedColor, TextSize = 24, TextAlignment = TextAlignment.Center, IsBold = true, Text = str1, }; whiteView.AddChidren(btnpaw); Button iconBtn = new Button { X = Application.GetRealWidth(194), Y = Application.GetRealHeight(68), Width = Application.GetRealWidth(20), Height = Application.GetRealWidth(20), UnSelectedImagePath = "LoginIcon/ShowPasswordIcon.png", SelectedImagePath = "LoginIcon/HidePasswordIcon.png", }; whiteView.AddChidren(iconBtn); //二维码 int codeWidth = Application.GetRealWidth(142); ImageView codeImage = new ImageView() { X = Application.GetRealWidth(70), Y = Application.GetRealHeight(142), Height = codeWidth, Width = codeWidth, ImageBytes = Scan.BytesFromText(str1, codeWidth, codeWidth), }; whiteView.AddChidren(codeImage); dialog.Show(); iconBtn.MouseUpEventHandler += (sender, e) => { iconBtn.IsSelected = !iconBtn.IsSelected; if (iconBtn.IsSelected) { btnpaw.Text = "******"; } else { btnpaw.Text = str1; } }; frameLayout.MouseUpEventHandler += (sender, e) => { dialog.Close(); }; } } }