using System;
using Shared.Common;
namespace Shared.Phone.Device.Logic.LogicView
{
public class TipView
{
///
/// 确定框
///
///
public static void ShowConfrimTip(Action action)
{
///主控件
Dialog dialog = new Dialog();
dialog.Show();
///背景的父控件
FrameLayout fLayout = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor };
dialog.AddChidren(fLayout);
fLayout.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
///弹框父控件
FrameLayout tipFLayout = new FrameLayout
{
X = Application.GetRealWidth(144),
Y = Application.GetRealHeight(706),
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(351 + 127),
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
Radius = (uint)Application.GetRealHeight(17)
};
fLayout.AddChidren(tipFLayout);
///上面快的父控件
FrameLayout topFrame = new FrameLayout
{
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(351),
};
tipFLayout.AddChidren(topFrame);
///提示控件
Button tipBtn = new Button
{
TextID = R.MyInternationalizationString.Tip,
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicTipColor,
TextSize = 16,
Y = Application.GetRealHeight(69),
X = Application.GetRealWidth(150),
Height = Application.GetRealHeight(63),
Width = Application.GetRealWidth(492),
};
topFrame.AddChidren(tipBtn);
///自定义文本控件
Button tipTextBtn = new Button
{
Text = Language.StringByID(R.MyInternationalizationString.SetDoorLockNomallyOpen).Replace("{0}", "\r\n"),
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicTipTextColor,
TextSize = 14,
Y = tipBtn.Bottom + Application.GetRealHeight(35),
X = Application.GetRealWidth(60),
Height = Application.GetRealHeight(115),
Width = Application.GetRealWidth(674),
IsMoreLines = true,
};
topFrame.AddChidren(tipTextBtn);
///下面快的父控件
FrameLayout bottomFrame = new FrameLayout
{
Y = topFrame.Bottom,
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(127),
Gravity = Gravity.BottomCenter,
};
tipFLayout.AddChidren(bottomFrame);
///取消控件
Button cancelBtn = new Button
{
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
TextSize = 14,
Height = bottomFrame.Height,
Width = Application.GetRealWidth(397),
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
TextID = R.MyInternationalizationString.cancel,
};
bottomFrame.AddChidren(cancelBtn);
cancelBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft);
///确认控件
Button okBtn = new Button
{
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
TextSize = 14,
X = cancelBtn.Right,
Height = bottomFrame.Height,
Width = bottomFrame.Width - cancelBtn.Width,
BackgroundColor = ZigbeeColor.Current.LogicBtnTypeColor,
TextID = R.MyInternationalizationString.confrim,
};
bottomFrame.AddChidren(okBtn);
okBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomRight);
///取消点击事件
cancelBtn.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
///确认点击事件
okBtn.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
action();
};
}
///
/// 输入框
///
/// 是否需要取消按钮
///
public static void ShowInputTip(bool _if, Action action)
{
///主控件
Dialog dialog = new Dialog();
dialog.Show();
///背景的父控件
FrameLayout fLayout = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor };
dialog.AddChidren(fLayout);
fLayout.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
///弹框父控件
FrameLayout tipFLayout = new FrameLayout
{
X = Application.GetRealWidth(144),
Y = Application.GetRealHeight(706),
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(351 + 127),
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
Radius = (uint)Application.GetRealHeight(17)
};
fLayout.AddChidren(tipFLayout);
///上面快的父控件
FrameLayout topFrame = new FrameLayout
{
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(351),
};
tipFLayout.AddChidren(topFrame);
///提示控件
Button tipBtn = new Button
{
Y = Application.GetRealHeight(69),
X = Application.GetRealWidth(150),
Height = Application.GetRealHeight(63),
Width = Application.GetRealWidth(492),
TextID = R.MyInternationalizationString.invalidSetting,
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicTipColor,
TextSize = 16,
};
topFrame.AddChidren(tipBtn);
///文本1控件
Button Text1Btn = new Button
{
Y = Application.GetRealHeight(187),
X = Application.GetRealWidth(50),
Height = Application.GetRealHeight(58),
Width = Application.GetRealWidth(242 + 94),
TextID = R.MyInternationalizationString.lockOpen,
TextAlignment = TextAlignment.CenterRight,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
TextSize = 14,
};
topFrame.AddChidren(Text1Btn);
///输入文本框
EditText editTime = new EditText()
{
X = Application.GetRealWidth(409),
Y = Application.GetRealHeight(173),
Height = Application.GetRealHeight(81),
Width = Application.GetRealWidth(132),
Radius = (uint)Application.GetMinRealAverage(17),
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
TextAlignment = TextAlignment.Center,
TextSize = 14,
Text = "12",
IsNumberKeyboardType=true,//只输入数字的属性
};
topFrame.AddChidren(editTime);
///文本2控件
Button Text2Btn = new Button
{
Y = Application.GetRealHeight(187),
X = Application.GetRealWidth(564),
Height = Application.GetRealHeight(58),
Width = Application.GetRealWidth(51 + 100),
TextID = R.MyInternationalizationString.hour,
TextAlignment = TextAlignment.CenterLeft,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
TextSize = 14,
};
topFrame.AddChidren(Text2Btn);
///下面快的父控件
FrameLayout bottomFrame = new FrameLayout
{
Y = topFrame.Bottom,
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(127),
Gravity=Gravity.BottomCenter,
};
tipFLayout.AddChidren(bottomFrame);
///取消控件
Button cancelBtn = new Button
{
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
TextSize = 14,
Height = bottomFrame.Height,
Width = Application.GetRealWidth(397),
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
TextID = R.MyInternationalizationString.cancel,
};
bottomFrame.AddChidren(cancelBtn);
///确认控件
Button okBtn = new Button
{
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
TextSize = 14,
X = cancelBtn.Right,
Height = bottomFrame.Height,
Width = bottomFrame.Width - cancelBtn.Width,
BackgroundColor = ZigbeeColor.Current.LogicBtnTypeColor,
TextID = R.MyInternationalizationString.confrim,
};
bottomFrame.AddChidren(okBtn);
if (_if) {
cancelBtn.X = Application.GetRealWidth(0);
cancelBtn.Width = Application.GetRealWidth(0);
okBtn.X = Application.GetRealWidth(0);
okBtn.Width = Application.GetRealWidth(792);
okBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
}
else
{
cancelBtn.X = Application.GetRealWidth(0);
cancelBtn.Width = Application.GetRealWidth(397);
okBtn.X = Application.GetRealWidth(397);
okBtn.Width = bottomFrame.Width - cancelBtn.Width;
cancelBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft);
okBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomRight);
}
///取消点击事件
cancelBtn.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
///确认点击事件
okBtn.MouseUpEventHandler += (sender, e) =>
{
if (string.IsNullOrEmpty(editTime.Text))
{
ShowErrorTip(Language.StringByID(R.MyInternationalizationString.timeNull),true);
return;
}
if (int.Parse(editTime.Text) < 1 || int.Parse(editTime.Text) > 12|| int.Parse(editTime.Text)>(int.MaxValue-1))
{ ///限制输入数字范围;
string str = Language.StringByID(R.MyInternationalizationString.less) + Language.StringByID(R.MyInternationalizationString.or) + Language.StringByID(R.MyInternationalizationString.more);
ShowErrorTip(str, true);
return;
}
action(editTime.Text);
dialog.Close();
};
}
///
/// 错误提示框
///
public static void ShowErrorTip(string tipText,bool _if )
{
///主控件
Dialog dialog = new Dialog();
dialog.Show();
///背景的父控件
FrameLayout fLayout = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor };
dialog.AddChidren(fLayout);
fLayout.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
///弹框父控件
FrameLayout tipFLayout = new FrameLayout
{
X = Application.GetRealWidth(144),
Y = Application.GetRealHeight(706),
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(351 + 127),
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
Radius = (uint)Application.GetRealHeight(17)
};
fLayout.AddChidren(tipFLayout);
///上面快的父控件
FrameLayout topFrame = new FrameLayout
{
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(351),
};
tipFLayout.AddChidren(topFrame);
///提示控件
Button tipBtn = new Button
{
Y = Application.GetRealHeight(69),
X = Application.GetRealWidth(150),
Height = Application.GetRealHeight(63),
Width = Application.GetRealWidth(492),
TextID = R.MyInternationalizationString.tip,
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicTipColor,
TextSize = 16,
};
topFrame.AddChidren(tipBtn);
///文本控件
Button Text1Btn = new Button
{
Y = Application.GetRealHeight(187),
X = Application.GetRealWidth(50),
Height = Application.GetRealHeight(58),
Width = Application.GetRealWidth(792-100),
Text= tipText,
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
TextSize = 14,
};
topFrame.AddChidren(Text1Btn);
///下面快的父控件
FrameLayout bottomFrame = new FrameLayout
{
Y = topFrame.Bottom,
Width = Application.GetRealWidth(792),
Height = Application.GetRealHeight(127),
Gravity = Gravity.BottomCenter,
};
tipFLayout.AddChidren(bottomFrame);
///取消控件
Button cancelBtn = new Button
{
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
TextSize = 14,
Height = bottomFrame.Height,
Width = Application.GetRealWidth(397),
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
TextID = R.MyInternationalizationString.cancel,
};
bottomFrame.AddChidren(cancelBtn);
///确认控件
Button okBtn = new Button
{
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
TextSize = 14,
X = cancelBtn.Right,
Height = bottomFrame.Height,
Width = bottomFrame.Width - cancelBtn.Width,
BackgroundColor = ZigbeeColor.Current.LogicBtnTypeColor,
TextID = R.MyInternationalizationString.confrim,
};
bottomFrame.AddChidren(okBtn);
if (_if)
{
cancelBtn.X = Application.GetRealWidth(0);
cancelBtn.Width = Application.GetRealWidth(0);
okBtn.X = Application.GetRealWidth(0);
okBtn.Width = Application.GetRealWidth(792);
okBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
}
else
{
cancelBtn.X = Application.GetRealWidth(0);
cancelBtn.Width = Application.GetRealWidth(397);
okBtn.X = Application.GetRealWidth(397);
okBtn.Width = bottomFrame.Width - cancelBtn.Width;
cancelBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft);
okBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomRight);
}
///取消点击事件
cancelBtn.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
///确认点击事件
okBtn.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
}
///
/// 闪错提示框
///
public static void ShowFlashTip(string tipText,int timeValue=1)
{
///主控件
Dialog dialog = new Dialog();
dialog.Show();
///背景的父控件
FrameLayout fLayout = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor };
dialog.AddChidren(fLayout);
fLayout.MouseUpEventHandler += (sender,e) => {
dialog.Close();
};
///弹框父控件
FrameLayout tipFLayout = new FrameLayout
{
X = Application.GetRealWidth(230),
Y = Application.GetRealHeight(717),
Width = Application.GetRealWidth(622),
Height = Application.GetRealHeight(317),
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
Radius = (uint)Application.GetRealHeight(17)
};
fLayout.AddChidren(tipFLayout);
///提示控件
Button tipBtn = new Button
{
Y = Application.GetRealHeight(58),
X = Application.GetRealWidth(150),
Height = Application.GetRealHeight(63),
Width = Application.GetRealWidth(622 - 300),
TextID = R.MyInternationalizationString.tip,
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicTipColor,
TextSize = 16,
};
tipFLayout.AddChidren(tipBtn);
///文本控件
Button Text1Btn = new Button
{
Y = Application.GetRealHeight(156),
X = Application.GetRealWidth(50),
Height = Application.GetRealHeight(58),
Width = Application.GetRealWidth(622 - 100),
Text = tipText,
TextAlignment = TextAlignment.Center,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
TextSize = 14,
};
tipFLayout.AddChidren(Text1Btn);
new System.Threading.Thread(() =>
{
System.Threading.Thread.Sleep(timeValue*1000);
Application.RunOnMainThread(() =>
{
dialog.Close();
});
})
{ IsBackground = true }.Start();
}
}
}