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;
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="title">标题</param>
|
/// <param name="jieTingAction">回调函数</param>
|
/// <param name="guanBiAction">回调函数</param>
|
public void ClickBox(string title, Action<Dialog> jieTingAction, Action<Dialog> 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);
|
};
|
|
}
|
|
/// <summary>
|
/// 初始化Dialog
|
/// </summary>
|
/// <param name="titleStr">标题</param>
|
/// <param name="msgStr">提示信息</param>
|
/// <param name="okAction"></param>
|
/// <param name="cancelAction"></param>
|
/// <param name="cancelID"></param>
|
/// <param name="confirmID"></param>
|
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;
|
}
|
}
|
|
|
/// <summary>
|
/// 生成二维码
|
/// </summary>
|
/// <param name="str1">标题</param>
|
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();
|
};
|
|
}
|
|
}
|
}
|