From 74a9ba8e9a2df9c39f9c2eb212a5ac889a055cd4 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 03 十二月 2019 10:47:51 +0800
Subject: [PATCH] 优化UI细节(请合并最新代码)
---
ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs | 543 +++++++++++++++++++++++++++--------------------------
1 files changed, 277 insertions(+), 266 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
index c69ca44..edb61d2 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
@@ -14,14 +14,13 @@
Tag = "Logic";
}
Button selectedIcon = new Button();
- public static Action action;
- public static bool edit=false;
-
+ public static bool edit = false;
+ VerticalScrolViewLayout middle;
- public async void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo=null)
+ public async void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo = null)
{
-
-
+
+
UserView.HomePage.Instance.ScrollEnabled = false;
this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
#region 鏈�涓婇潰鐨勫竷灞�浠g爜
@@ -35,7 +34,7 @@
var titleName = new Button
{
- TextSize = 16,
+ TextSize = 17,
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
TextAlignment = TextAlignment.CenterLeft,
X = Application.GetRealWidth(176),
@@ -56,7 +55,6 @@
clickBtn.MouseDownEventHandler += (sender, e) =>
{
RemoveFromParent();
- action();
};
var back = new Button
@@ -75,7 +73,7 @@
};
#endregion
- var middle = new VerticalScrolViewLayout
+ middle = new VerticalScrolViewLayout
{
Y = topRowLayout.Bottom,
Height = Application.GetRealHeight(1920 - 184),
@@ -96,25 +94,33 @@
}
}
-
+ CommonPage.Loading.Start();
if (!d)
{
var allMemberslist = await Send.AllMembers(common.DeviceAddr);
Send.LockList.AddRange(allMemberslist);
}
+ UserList(macport, common, editdeviceConditionsInfo);
+ CommonPage.Loading.Hide();
+ }
+ /// <summary>
+ /// 鎴愬憳鍒楄〃鐨勬柟娉�
+ /// </summary>
+ /// <param name="macport"></param>
+ void UserList(string macport, CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo)
+ {
-
foreach (var user in Send.LockList)
{
if (user.DoorLockMacPort != macport)
{
continue;
}
- var userFramelayout = new RowLayout
+ var userFramelayout = new FrameLayout
{
Height = Application.GetRealHeight(160),
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
- LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
+ // LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
};
middle.AddChidren(userFramelayout);
@@ -134,6 +140,7 @@
Text = user.UserName,
TextAlignment = TextAlignment.CenterLeft,
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+ TextSize = 14,
};
userRow.AddChidren(userBtn);
@@ -149,258 +156,7 @@
EventHandler<MouseEventArgs> useridclick = (sender, e) =>
{
- var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
- this.AddChidren(flMain);
- flMain.MouseUpEventHandler += (sender1, e1) =>
- {
- flMain.RemoveFromParent();
- };
-
- var lockcolorfra = new FrameLayout
- {
- Width = Application.GetRealWidth(1080),
- Height = Application.GetRealHeight(100),
- Y = Application.GetRealHeight(1920 - 100),
- BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
- };
- flMain.AddChidren(lockcolorfra);
-
- var lockcolorfra1 = new FrameLayout
- {
-
- Width = Application.GetRealWidth(1080),
- Height = Application.GetRealHeight(530),
- Y = Application.GetRealHeight(1920 - 530),
- BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
- Radius = (uint)Application.GetRealHeight(60),
- };
- flMain.AddChidren(lockcolorfra1);
-
- #region -------鍙栨秷 瀹屾垚
- var lockRow = new RowLayout
- {
- Height = Application.GetRealHeight(140),
- LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
- };
- lockcolorfra1.AddChidren(lockRow);
- var Btncancel = new Button
- {
- TextID = MyInternationalizationString.cancel,
- TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
- Height = Application.GetRealHeight(140),
- Width = Application.GetRealWidth(200),
- X = Application.GetRealWidth(80),
- TextAlignment = TextAlignment.CenterLeft,
- };
- lockRow.AddChidren(Btncancel);
- Btncancel.MouseUpEventHandler += (sender16, e16) =>
- {
- flMain.RemoveFromParent();
- UserView.HomePage.Instance.ScrollEnabled = true;
- };
-
- var Btntitle = new Button
- {
- TextID = MyInternationalizationString.security,
- TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
- Height = Application.GetRealHeight(140),
- Width = Application.GetRealWidth(320),
- TextAlignment = TextAlignment.Center,
- X = Btncancel.Right + Application.GetRealWidth(100),
- TextSize = 16,
- Text = user.UserName,
- };
- lockRow.AddChidren(Btntitle);
- var Btncomplete = new Button
- {
- TextID = MyInternationalizationString.complete,
- TextColor = ZigbeeColor.Current.LogicBtnCompleteColor,
- Height = Application.GetRealHeight(140),
- Width = Application.GetRealWidth(200),
- TextAlignment = TextAlignment.CenterRight,
- X = Btntitle.Right + Application.GetRealWidth(100),
-
- };
- lockRow.AddChidren(Btncomplete);
- #endregion
- ///瀹氫袱涓彉閲忚褰曚箣鍓嶇殑鍙�硷紱
- string userId = "", openMode = "", accountname="", SelectedDeviceStatuscondition = "";
- lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * user.UserIdMode.Count) - 20 - 50);
- lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * user.UserIdMode.Count) + 20 + 50);
- for (int i = 0; i < user.UserIdMode.Count; i++)
- {
- var userifon = user.UserIdMode[i];
- var doorlockfra = new FrameLayout
- {
- Height = Application.GetRealHeight(160),
- Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * i),
- };
- lockcolorfra1.AddChidren(doorlockfra);
-
- var doorlockRow = new RowLayout
- {
- Y = Application.GetRealHeight(30),
- Width = Application.GetRealWidth(920),
- Height = Application.GetRealHeight(130),
- X = Application.GetRealWidth(80),
- LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
- };
- doorlockfra.AddChidren(doorlockRow);
-
- var doorlockBtn = new Button
- {
- Width = Application.GetRealWidth(600),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
- Text= userifon.ModeName,
- };
- doorlockRow.AddChidren(doorlockBtn);
- //(1鎸夐敭/3鍗�/15鎸囩汗)
- //switch (userifon.OpenMode.ToString())
- //{
- // case "0":
- // {
- // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword);
- // }
- // break;
- // case "3":
- // {
- // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic);
- // }
- // break;
- // case "15":
- // {
- // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint);
- // }
- // break;
- //}
- var doorlockSelected = new Button
- {
- X = Application.GetRealWidth(860),
- Width = Application.GetMinRealAverage(60),
- Height = Application.GetMinRealAverage(60),
- UnSelectedImagePath = "ZigeeLogic/selected.png",
- Visible = false,
- Gravity = Gravity.CenterVertical,
-
- };
- doorlockRow.AddChidren(doorlockSelected);
- if ((user.UserIdMode.Count - 1) == i)
- {
- doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
- }
- EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
- {
- SelectedDeviceStatuscondition = "DoorLock";
- selectedIcon.Visible = false;
- selectedIcon = doorlockSelected;
- doorlockSelected.Visible = true;
- userId = userifon.UserId;
- openMode = userifon.OpenMode.ToString();
- accountname = Btntitle.Text + doorlockBtn.Text;
- //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
-
- };
- doorlockRow.MouseUpEventHandler += doorlockclick;
- doorlockBtn.MouseUpEventHandler += doorlockclick;
- doorlockSelected.MouseUpEventHandler += doorlockclick;
- doorlockfra.MouseUpEventHandler += doorlockclick;
-
- if (edit && editdeviceConditionsInfo != null)
- {
-
- if (editdeviceConditionsInfo["AttriButeData2"] == userifon.UserId.ToString())
- {
- selectedIcon.Visible = false;
- selectedIcon = doorlockSelected;
- doorlockSelected.Visible = true;
- }
-
- }
-
- }
-
-
- Btncomplete.MouseUpEventHandler += (sender3, e3) =>
- {
- string userIdstr = "", openModestr="";
- var deviceConditionsInfo = new Dictionary<string, string>();
- var userdictionary = new Dictionary<string, string>();
- deviceConditionsInfo.Add("Type", "1");
- deviceConditionsInfo.Add("IsValid", "1");
- deviceConditionsInfo.Add("MacAddr", common.DeviceAddr);
- deviceConditionsInfo.Add("Epoint", common.DeviceEpoint.ToString());
- deviceConditionsInfo.Add("Cluster_ID", "64529");
- deviceConditionsInfo.Add("AttriButeData1", "2");
- deviceConditionsInfo.Add("Range", "0");
- deviceConditionsInfo.Add("AttriButeId", openMode);
- deviceConditionsInfo.Add("AttriButeData2", userId);
- userdictionary.Add("Account",accountname);
- userdictionary.Add("Type", "1");
- userdictionary.Add("UserId", userId);
- if (edit)
- {
- openModestr = editdeviceConditionsInfo["AttriButeId"];
- userIdstr = editdeviceConditionsInfo["AttriButeData2"];
- }
- else
- {
- openModestr = deviceConditionsInfo["AttriButeId"];
- userIdstr = deviceConditionsInfo["AttriButeData2"];
- }
- if (SelectedDeviceStatuscondition != "")
- {
- bool add = false;
- for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++)
- {
- if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1")
- {
- if ((Common.Logic.CurrentLogic.Conditions[i]["MacAddr"] == common.DeviceAddr) && (Common.Logic.CurrentLogic.Conditions[i]["Epoint"] == common.DeviceEpoint.ToString()))
- {
- if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == openModestr && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == userIdstr)
- {
- Common.Logic.CurrentLogic.Conditions.RemoveAt(i);
- Common.Logic.CurrentLogic.Conditions.Insert(i, deviceConditionsInfo);
- for (int j = 0; j < Common.Logic.CurrentLogic.Accounts.Count; j++)
- {
- if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == userIdstr)
- {
- Common.Logic.CurrentLogic.Accounts.RemoveAt(j);
- Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary);
- }
- }
- add = true;
- break;
- }
- }
- }
- }
- if (!add)
- {
- Common.Logic.CurrentLogic.Accounts.Add(userdictionary);
- Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo);
- }
-
- }
- else
- {
- if (!edit)
- {
- var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
- Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
- Language.StringByID(MyInternationalizationString.complete));
- alert.Show();
- return;
- }
-
- }
- flMain.RemoveFromParent();
- var logicCommunalPage = new LogicCommunalPage();
- UserView.HomePage.Instance.AddChidren(logicCommunalPage);
- UserView.HomePage.Instance.PageIndex += 1;
- logicCommunalPage.Show(() => { });
-
- };
+ User(user, common, editdeviceConditionsInfo);
};
userBtn.MouseUpEventHandler += useridclick;
@@ -409,7 +165,262 @@
userRow.MouseUpEventHandler += useridclick;
}
- }
+
+ }
+ /// <summary>
+ /// 褰撳墠鎴愬憳淇℃伅鐨勬柟娉�
+ /// </summary>
+ /// <param name="user"></param>
+ void User(Send.MembershipIfon user, CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo)
+ {
+ var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
+ this.AddChidren(flMain);
+ flMain.MouseUpEventHandler += (sender1, e1) =>
+ {
+ flMain.RemoveFromParent();
+ };
+
+ var lockcolorfra = new FrameLayout
+ {
+ Width = Application.GetRealWidth(1080),
+ Height = Application.GetRealHeight(100),
+ Y = Application.GetRealHeight(1920 - 100),
+ BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
+ };
+ flMain.AddChidren(lockcolorfra);
+
+ var lockcolorfra1 = new FrameLayout
+ {
+
+ Width = Application.GetRealWidth(1080),
+ Height = Application.GetRealHeight(530),
+ Y = Application.GetRealHeight(1920 - 530),
+ BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
+ Radius = (uint)Application.GetRealHeight(60),
+ };
+ flMain.AddChidren(lockcolorfra1);
+
+ #region -------鍙栨秷 瀹屾垚
+ var lockRow = new RowLayout
+ {
+ Height = Application.GetRealHeight(140),
+ LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
+ };
+ lockcolorfra1.AddChidren(lockRow);
+ var Btncancel = new Button
+ {
+ TextID = MyInternationalizationString.cancel,
+ TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
+ Height = Application.GetRealHeight(140),
+ Width = Application.GetRealWidth(200),
+ X = Application.GetRealWidth(80),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = 14,
+ };
+ lockRow.AddChidren(Btncancel);
+ Btncancel.MouseUpEventHandler += (sender16, e16) =>
+ {
+ flMain.RemoveFromParent();
+ UserView.HomePage.Instance.ScrollEnabled = true;
+ };
+
+ var Btntitle = new Button
+ {
+ TextID = MyInternationalizationString.security,
+ TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
+ Height = Application.GetRealHeight(140),
+ Width = Application.GetRealWidth(320),
+ TextAlignment = TextAlignment.Center,
+ X = Btncancel.Right + Application.GetRealWidth(100),
+ TextSize = 16,
+ Text = user.UserName,
+ };
+ lockRow.AddChidren(Btntitle);
+ var Btncomplete = new Button
+ {
+ TextID = MyInternationalizationString.complete,
+ TextColor = ZigbeeColor.Current.LogicBtnCompleteColor,
+ Height = Application.GetRealHeight(140),
+ Width = Application.GetRealWidth(200),
+ TextAlignment = TextAlignment.CenterRight,
+ X = Btntitle.Right + Application.GetRealWidth(100),
+ TextSize = 14,
+
+ };
+ lockRow.AddChidren(Btncomplete);
+ #endregion
+ ///瀹氫袱涓彉閲忚褰曚箣鍓嶇殑鍙�硷紱
+ string userId = "";
+ string openMode = "";
+ string accountname = "";
+ string SelectedDeviceStatuscondition = "";
+ lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * user.UserIdMode.Count) - 20 - 50);
+ lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * user.UserIdMode.Count) + 20 + 50);
+ for (int i = 0; i < user.UserIdMode.Count; i++)
+ {
+ var userifon = user.UserIdMode[i];
+ var doorlockfra = new FrameLayout
+ {
+ Height = Application.GetRealHeight(160),
+ Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * i),
+ };
+ lockcolorfra1.AddChidren(doorlockfra);
+
+ var doorlockRow = new RowLayout
+ {
+ Y = Application.GetRealHeight(30),
+ Width = Application.GetRealWidth(920),
+ Height = Application.GetRealHeight(130),
+ X = Application.GetRealWidth(80),
+ LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
+ };
+ doorlockfra.AddChidren(doorlockRow);
+
+ var doorlockBtn = new Button
+ {
+ Width = Application.GetRealWidth(600),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+ Text = userifon.ModeName,
+ TextSize = 14,
+ };
+ doorlockRow.AddChidren(doorlockBtn);
+
+ var doorlockSelected = new Button
+ {
+ X = Application.GetRealWidth(860),
+ Width = Application.GetMinRealAverage(60),
+ Height = Application.GetMinRealAverage(60),
+ UnSelectedImagePath = "ZigeeLogic/selected.png",
+ Visible = false,
+ Gravity = Gravity.CenterVertical,
+
+ };
+ doorlockRow.AddChidren(doorlockSelected);
+ if ((user.UserIdMode.Count - 1) == i)
+ {
+ doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
+ }
+ EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
+ {
+ SelectedDeviceStatuscondition = "DoorLock";
+ selectedIcon.Visible = false;
+ selectedIcon = doorlockSelected;
+ doorlockSelected.Visible = true;
+ userId = userifon.UserId;
+ openMode = userifon.OpenMode.ToString();
+ accountname = Btntitle.Text + doorlockBtn.Text;
+ //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+ };
+ doorlockRow.MouseUpEventHandler += doorlockclick;
+ doorlockBtn.MouseUpEventHandler += doorlockclick;
+ doorlockSelected.MouseUpEventHandler += doorlockclick;
+ doorlockfra.MouseUpEventHandler += doorlockclick;
+
+ if (edit && editdeviceConditionsInfo != null)
+ {
+
+ if (editdeviceConditionsInfo["AttriButeData2"] == userifon.UserId.ToString())
+ {
+ selectedIcon.Visible = false;
+ selectedIcon = doorlockSelected;
+ doorlockSelected.Visible = true;
+ }
+
+ }
+
+ }
+ Btncomplete.MouseUpEventHandler += (sender3, e3) =>
+ {
+ string userIdstr = "", openModestr = "";
+ var deviceConditionsInfo = new Dictionary<string, string>();
+ var userdictionary = new Dictionary<string, string>();
+ deviceConditionsInfo.Add("Type", "1");
+ deviceConditionsInfo.Add("IsValid", "1");
+ deviceConditionsInfo.Add("MacAddr", common.DeviceAddr);
+ deviceConditionsInfo.Add("Epoint", common.DeviceEpoint.ToString());
+ deviceConditionsInfo.Add("Cluster_ID", "64529");
+ deviceConditionsInfo.Add("AttriButeData1", "2");
+ deviceConditionsInfo.Add("Range", "0");
+ deviceConditionsInfo.Add("AttriButeId", openMode);
+ deviceConditionsInfo.Add("AttriButeData2", userId);
+ userdictionary.Add("Account", accountname);
+ userdictionary.Add("Type", "1");
+ userdictionary.Add("UserId", userId);
+ if (edit)
+ {
+ openModestr = editdeviceConditionsInfo["AttriButeId"];
+ userIdstr = editdeviceConditionsInfo["AttriButeData2"];
+ }
+ else
+ {
+ openModestr = deviceConditionsInfo["AttriButeId"];
+ userIdstr = deviceConditionsInfo["AttriButeData2"];
+ }
+ if (SelectedDeviceStatuscondition != "")
+ {
+ bool addConditions = false;
+ bool addAccounts = false;
+ for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++)
+ {
+ if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1")
+ {
+ if ((Common.Logic.CurrentLogic.Conditions[i]["MacAddr"] == common.DeviceAddr) && (Common.Logic.CurrentLogic.Conditions[i]["Epoint"] == common.DeviceEpoint.ToString()))
+ {
+ if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == openModestr && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == userIdstr)
+ {
+ Common.Logic.CurrentLogic.Conditions.RemoveAt(i);
+ Common.Logic.CurrentLogic.Conditions.Insert(i, deviceConditionsInfo);
+ addConditions = true;
+ break;
+ }
+ }
+ }
+ }
+ for (int j = 0; j < Common.Logic.CurrentLogic.Accounts.Count; j++)
+ {
+ if (Common.Logic.CurrentLogic.Accounts[j]["Type"] == "1")
+ {
+ if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == userIdstr)
+ {
+ Common.Logic.CurrentLogic.Accounts.RemoveAt(j);
+ Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary);
+ addAccounts = true;
+ break;
+ }
+ }
+ }
+ if (!addConditions)
+ {
+ Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo);
+ }
+ if (!addAccounts)
+ {
+ Common.Logic.CurrentLogic.Accounts.Add(userdictionary);
+ }
+ }
+ else
+ {
+ if (!edit)
+ {
+ var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
+ Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
+ Language.StringByID(MyInternationalizationString.complete));
+ alert.Show();
+ return;
+ }
+
+ }
+ flMain.RemoveFromParent();
+ var logicCommunalPage = new LogicCommunalPage();
+ UserView.HomePage.Instance.AddChidren(logicCommunalPage);
+ UserView.HomePage.Instance.PageIndex += 1;
+ logicCommunalPage.Show(() => { });
+
+ };
+
+
+ }
}
}
--
Gitblit v1.8.0