using System;
|
using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
|
using Shared;
|
using System.Collections.Generic;
|
using System.Text;
|
namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice
|
{
|
public class AddControl : FrameLayout
|
{
|
public AddControl()
|
{
|
Tag = "Pir";
|
}
|
public void Show(Control control)
|
{
|
|
#region 界面布局
|
|
this.BackgroundColor = CSS.CSS_Color.viewMiddle;
|
PirDevice.View.TopView topView = new View.TopView();
|
topView.topNameBtn.TextID = StringId.zhinengyaokongqi;
|
topView.topIconBtn.Visible = true;
|
topView.topIconBtn.UnSelectedImagePath = "PirIcon/del.png";
|
this.AddChidren(topView.FLayoutView());
|
topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
|
this.RemoveFromParent();
|
|
};
|
|
#region 添加按钮
|
FrameLayout addLayout = new FrameLayout
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(84),
|
Width = Application.GetRealWidth(TextSize.view375),
|
};
|
this.AddChidren(addLayout);
|
|
Button addBtn = new Button
|
{
|
Width = Application.GetRealWidth(344),
|
Height = Application.GetRealHeight(44),
|
Y = Application.GetRealHeight(24),
|
X = Application.GetRealWidth(16),
|
TextID = StringId.tianjiaanniu,
|
TextSize = TextSize.text16,
|
TextColor = CSS.CSS_Color.btnSaveBackgroundColor,
|
BorderColor = CSS.CSS_Color.btnSaveBackgroundColor,
|
BorderWidth = 1,
|
Radius = (uint)Application.GetRealHeight(22),
|
};
|
addLayout.AddChidren(addBtn);
|
#endregion
|
FrameLayout frameLayout = new FrameLayout
|
{
|
Y = Application.GetRealHeight(64 + 84),
|
Height = Application.GetRealHeight(667 - 64 - 84),
|
Width = Application.GetRealWidth(TextSize.view375),
|
};
|
this.AddChidren(frameLayout);
|
|
#region 保存
|
FrameLayout saveLayout = new FrameLayout
|
{
|
Y = Application.GetRealHeight(667 - 104),
|
Height = Application.GetRealHeight(104),
|
Width = Application.GetRealWidth(TextSize.view375),
|
BackgroundColor = CSS.CSS_Color.viewLine,
|
};
|
this.AddChidren(saveLayout);
|
saveLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
|
|
Button paixuBtn = new Button
|
{
|
Width = Application.GetRealWidth(375 - 16 * 2),
|
Height = Application.GetRealHeight(20),
|
Y = Application.GetRealHeight(12),
|
X = Application.GetRealWidth(16),
|
TextID = StringId.paixu,
|
TextSize = TextSize.text14,
|
TextColor = CSS.CSS_Color.textTipColor,
|
};
|
saveLayout.AddChidren(paixuBtn);
|
|
Button saveBtn = new Button
|
{
|
Width = Application.GetRealWidth(220),
|
Height = Application.GetRealHeight(44),
|
Y = paixuBtn.Bottom + Application.GetRealHeight(12),
|
X = Application.GetRealWidth(78),
|
TextID = StringId.save,
|
TextSize = TextSize.text16,
|
TextColor = CSS.CSS_Color.textWhiteColor,
|
TextAlignment = TextAlignment.Center,
|
BackgroundColor = CSS.CSS_Color.btnSaveBackgroundColor,
|
Radius = (uint)Application.GetRealHeight(22),
|
|
};
|
saveLayout.AddChidren(saveBtn);
|
#endregion
|
|
VerticalScrolViewLayout vv = new VerticalScrolViewLayout();
|
frameLayout.AddChidren(vv);
|
RefreshView(vv, false, control);
|
#endregion
|
|
#region 界面点击事件
|
//删除点击事件
|
topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
topView.clickSetBtn.IsSelected = !topView.clickSetBtn.IsSelected;
|
if (topView.clickSetBtn.IsSelected)
|
{
|
topView.topIconBtn.UnSelectedImagePath = "";
|
topView.topIconBtn.Text = Language.StringByID(StringId.wancheng);
|
topView.topIconBtn.TextSize = TextSize.text14;
|
topView.topIconBtn.TextColor = CSS.CSS_Color.textColor;
|
RefreshView(vv, true, control);
|
}
|
else
|
{
|
topView.topIconBtn.UnSelectedImagePath = "PirIcon/del.png";
|
topView.topIconBtn.Text = "";
|
RefreshView(vv, false, control);
|
}
|
|
|
|
};
|
//添加按钮点击事件
|
addBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
AddButton addButton = new AddButton();
|
MainPage.BasePageView.AddChidren(addButton);
|
addButton.Show(control);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
//保存点击事件
|
saveBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
//移除当前界面
|
this.RemoveFromParent();
|
//可能之前已经存在该界面
|
for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
|
{
|
var view = MainPage.BasePageView.GetChildren(i);
|
if (view.GetType() == typeof(AddControlComplete))
|
{
|
view.RemoveFromParent();
|
}
|
}
|
//MainPage.BasePageView.RemoveViewByTag("Pir");
|
AddControlComplete addControlComplete = new AddControlComplete();
|
MainPage.BasePageView.AddChidren(addControlComplete);
|
addControlComplete.Show(control,false);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
#endregion
|
}
|
/// <summary>
|
/// 加载按钮控件View的方法
|
/// </summary>
|
/// <param name="vv">上下滑动控件</param>
|
/// <param name="if_bool">表示是否显示删除图标</param>
|
void RefreshView(VerticalScrolViewLayout vv, bool if_bool, Control control)
|
{
|
vv.RemoveAll();
|
//定义一个变量记录行数
|
int sum = 0;
|
if (control.status.Count % 3 == 0)
|
{
|
sum = control.status.Count / 3;
|
}
|
else
|
{
|
sum = control.status.Count / 3 + 1;
|
}
|
//计算加载出来的数据需要的高度
|
int h = 16 + sum * (16 + 44) + 104 + 76;
|
int line = 0;
|
//按钮的父控件
|
var FLayout = new FrameLayout
|
{
|
Height = Application.GetRealWidth(h),
|
};
|
vv.AddChidren(FLayout);
|
for (int i = 1, j = 0; i <= control.status.Count; i++, j++)
|
{
|
var nameObj = control.status[i - 1];
|
//按钮
|
var buttonNameBtn = new Button
|
{
|
|
Y = Application.GetRealHeight(16 + line * (16 + 44)),
|
X = Application.GetRealWidth(16 + (16 + 104) * j),
|
Width = Application.GetRealWidth(104),
|
Height = Application.GetRealHeight(44),
|
Text = nameObj.value,
|
TextSize = TextSize.text16,
|
TextColor = CSS.CSS_Color.textColor,
|
TextAlignment = TextAlignment.Center,
|
Radius = (uint)Application.GetRealHeight(18),
|
BorderWidth = 1,
|
BorderColor = CSS.CSS_Color.textCancelColor,
|
};
|
FLayout.AddChidren(buttonNameBtn);
|
//删除图标
|
var delIconBtn = new Button
|
{
|
UnSelectedImagePath = "PirIcon/delbuton.png",
|
Y = Application.GetRealHeight(12 + line * (16 + 44)),
|
X = Application.GetRealWidth((16 + 92) + (104 + 16) * j),
|
Width = Application.GetRealWidth(16),
|
Height = Application.GetRealWidth(16),
|
Tag = nameObj,
|
};
|
if (if_bool)
|
{
|
FLayout.AddChidren(delIconBtn);
|
}
|
//删除图标的点击事件
|
delIconBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
var obj = delIconBtn.Tag as Entity.AttributesStatus;
|
//加载log
|
Loading loading = new Loading();
|
this.AddChidren(loading);
|
HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
|
loading.Start();
|
new System.Threading.Thread(() =>
|
{
|
try
|
{
|
//发送按键删除;
|
responsePackNew = PirSend.CodeRemove(obj);
|
}
|
catch { }
|
finally
|
{
|
Application.RunOnMainThread(() =>
|
{
|
loading.Hide();
|
if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
|
{
|
///这里:监听MTTP推送下来主题,才知道是否添加成功
|
var buttonObj = control.status.Find((c) => c.value == obj.value);
|
if (buttonObj != null)
|
{
|
control.status.Remove(buttonObj);
|
}
|
RefreshView(vv, true, control);
|
}
|
else {
|
Method method = new Method();
|
method.ErrorShow(responsePackNew);
|
}
|
|
});
|
}
|
|
})
|
{ IsBackground = true }.Start();
|
|
|
};
|
if (i % 3 == 0)
|
{
|
//满一行重置j=0值;
|
j = -1;
|
line += 1;
|
}
|
|
}
|
|
}
|
}
|
}
|