using System;
|
using System.Collections.Generic;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.DriverLayer;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Newtonsoft.Json.Linq;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class FunctionBaseInfoSetPage : FrameLayout
|
{
|
#region 控件列表
|
FrameLayout bodyView;
|
/// <summary>
|
/// 功能名称显示按钮
|
/// </summary>
|
Button btnFunctionName;
|
/// <summary>
|
/// 功能名称编辑按钮
|
/// </summary>
|
Button btnEditName;
|
/// <summary>
|
/// 位置信息显示按钮
|
/// </summary>
|
Button btnLocationValues;
|
/// <summary>
|
/// 位置信息跳转编辑按钮
|
/// </summary>
|
Button btnLocationInfoRight;
|
|
#endregion
|
|
#region 局部变量
|
Function function;
|
/// <summary>
|
/// 后退时,刷新之前界面的显示信息
|
/// </summary>
|
Action actionRefresh;
|
|
/// <summary>
|
/// 解绑设备回调
|
/// </summary>
|
public Action actionDel;
|
#endregion
|
|
public FunctionBaseInfoSetPage(Function func, Action action)
|
{
|
bodyView = this;
|
function = func;
|
actionRefresh = action;
|
}
|
|
public override void RemoveFromParent()
|
{
|
new System.Threading.Thread(() =>
|
{
|
Application.RunOnMainThread(() =>
|
{
|
actionRefresh?.Invoke();
|
});
|
})
|
{ IsBackground = true }.Start();
|
base.RemoveFromParent();
|
}
|
|
/// <summary>
|
/// 加载界面
|
/// </summary>
|
public void LoadPage(bool locationSetting = true)
|
{
|
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
|
new TopViewDiv(bodyView, Language.StringByID(StringId.Setting)).LoadTopView();
|
|
var contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(600),
|
ScrollEnabled = false,
|
};
|
bodyView.AddChidren(contentView);
|
|
#region name view
|
var nameView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(50),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(nameView);
|
|
var btnNameText = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.Name,
|
};
|
nameView.AddChidren(btnNameText);
|
|
btnFunctionName = new Button()
|
{
|
X = Application.GetRealWidth(86),
|
Width = Application.GetRealWidth(237),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = function.name,
|
};
|
nameView.AddChidren(btnFunctionName);
|
|
btnEditName = new Button()
|
{
|
X = Application.GetRealWidth(333),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/Edit.png",
|
};
|
nameView.AddChidren(btnEditName);
|
|
//nameView.AddChidren(
|
// new Button()
|
// {
|
// Gravity = Gravity.CenterHorizontal,
|
// Y = Application.GetRealHeight(49),
|
// BackgroundColor = CSS_Color.DividingLineColor,
|
// Width = Application.GetRealWidth(343),
|
// Height = Application.GetRealHeight(1)
|
// });
|
|
#endregion
|
if (locationSetting)
|
{
|
#region 位置管理
|
var locationMagtView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(55),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(locationMagtView);
|
|
var btnLocationMagtTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.LocationManagement,
|
};
|
locationMagtView.AddChidren(btnLocationMagtTitle);
|
|
btnLocationValues = new Button()
|
{
|
X = Application.GetRealWidth(86),
|
Width = Application.GetRealWidth(237),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = function.GetRoomListName(),
|
};
|
locationMagtView.AddChidren(btnLocationValues);
|
|
btnLocationInfoRight = new Button()
|
{
|
X = Application.GetRealWidth(339),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(16),
|
Height = Application.GetMinRealAverage(16),
|
UnSelectedImagePath = "Public/RightIcon.png",
|
};
|
locationMagtView.AddChidren(btnLocationInfoRight);
|
|
locationMagtView.AddChidren(
|
new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
BackgroundColor = CSS_Color.DividingLineColor,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(1)
|
});
|
#endregion
|
}
|
|
LoadEventList();
|
}
|
|
|
|
/// <summary>
|
/// 加载选择弹窗
|
/// </summary>
|
void LoadEditDialog(int min ,int max,int curValue,Action<string> action)
|
{
|
|
List<string> pickerItems = new List<string>();
|
|
Dialog dialog = new Dialog();
|
|
var pView = new FrameLayout()
|
{
|
BackgroundColor = CSS_Color.DialogTransparentColor1,
|
};
|
dialog.AddChidren(pView);
|
|
var optionBaseView = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(456 - 60),
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(260),
|
AnimateSpeed = 0.3f,
|
Animate = Animate.DownToUp,
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
};
|
pView.AddChidren(optionBaseView);
|
|
var topView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(40),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
};
|
optionBaseView.AddChidren(topView);
|
topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
|
|
var btnCancel = new Button()
|
{
|
X = Application.GetRealWidth(21),
|
Width = Application.GetRealWidth(100),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextID = StringId.Cancel,
|
};
|
topView.AddChidren(btnCancel);
|
|
var btnConfrim = new Button()
|
{
|
X = Application.GetRealWidth(160),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextID = StringId.Confirm,
|
};
|
topView.AddChidren(btnConfrim);
|
|
UIPickerView uIPickerView = new UIPickerView()
|
{
|
Y = Application.GetRealHeight(40),
|
Height = Application.GetRealHeight(210),
|
Radius = (uint)Application.GetRealWidth(12),
|
};
|
for (int i = min; i <= max; i += 1)
|
{
|
pickerItems.Add(i.ToString());
|
}
|
uIPickerView.setNPicker(pickerItems, null, null);
|
optionBaseView.AddChidren(uIPickerView);
|
uIPickerView.setCurrentItems(pickerItems.IndexOf(curValue.ToString()), 4, 5);
|
|
string selectItem = pickerItems[0];
|
if (pickerItems.Contains(curValue.ToString()))
|
{
|
selectItem = curValue.ToString();
|
}
|
|
dialog.Show();
|
|
pView.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
};
|
|
btnCancel.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
};
|
uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
|
selectItem = pickerItems[int1];
|
};
|
btnConfrim.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
action?.Invoke(selectItem);
|
};
|
|
}
|
|
|
|
}
|
}
|