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/DoorLockLogic/AddCondition.cs | 120 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 69 insertions(+), 51 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
index ea49ce1..e3d24b5 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
@@ -12,8 +12,9 @@
Tag = "LockLogic";
}
Button selectedIcon = new Button();
-
+ VerticalScrolViewLayout middle;
public int conditionsIndex = -1;
+
public async void Show()
{
#region 鏈�涓婇潰鐨勫竷灞�浠g爜
@@ -27,7 +28,7 @@
var titleName = new Button
{
- TextSize = 16,
+ TextSize = 17,
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
TextAlignment = TextAlignment.CenterLeft,
X = Application.GetRealWidth(176),
@@ -68,7 +69,7 @@
#endregion
- var middle = new VerticalScrolViewLayout
+ middle = new VerticalScrolViewLayout
{
Y = topRowLayout.Bottom,
Height = Application.GetRealHeight(1920 - 184),
@@ -86,23 +87,21 @@
d = true;
break;
}
-
}
-
+ CommonPage.Loading.Start();
if (!d)
{
-
var allMemberslist = await Send.AllMembers(Send.CurrentDoorLock.DeviceAddr);
Send.LockList.AddRange(allMemberslist);
}
- UserAllView(middle, macport);
+ UserAllView(macport);
+ CommonPage.Loading.Hide();
}
/// <summary>
/// 鏄剧ず鎵�鏈夌敤鎴�
/// </summary>
- /// <param name="middle"></param>
- void UserAllView(VerticalScrolViewLayout middle,string macport)
+ void UserAllView(string macport)
{
for (int i = 0; i < Send.LockList.Count; i++)
@@ -137,6 +136,7 @@
Width = Application.GetRealWidth(600),
Height = Application.GetRealHeight(130),
Tag = Send.LockList[i],
+ TextSize = 14,
};
userRow.AddChidren(usernameBtn);
@@ -153,7 +153,7 @@
EventHandler<MouseEventArgs> userclick = (sender, e) =>
{
- SelectedUserID(user.UserIdMode, usernameBtn.Text);
+ SelectedUserID(user);
};
usernameBtn.MouseUpEventHandler += userclick;
btntimeback.MouseUpEventHandler += userclick;
@@ -168,7 +168,7 @@
/// </summary>
/// <param name="membershipIfon">瑙﹀彂婧愬垪琛�</param>
/// <param name="userName">鐢ㄦ埛鍚嶅瓧</param>
- void SelectedUserID(List<Send.UnlockingMode> membershipIfon, string userName) {
+ void SelectedUserID(Send.MembershipIfon membershipIfon) {
var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
this.AddChidren(flMain);
@@ -178,14 +178,7 @@
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
{
@@ -197,12 +190,14 @@
Radius = (uint)Application.GetRealHeight(60),
};
flMain.AddChidren(lockcolorfra1);
+ lockcolorfra1.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
#region -------鍙栨秷 瀹屾垚
var lockRow = new RowLayout
{
Height = Application.GetRealHeight(140),
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
+
};
lockcolorfra1.AddChidren(lockRow);
var Btncancel = new Button
@@ -213,6 +208,7 @@
Width = Application.GetRealWidth(200),
X = Application.GetRealWidth(80),
TextAlignment = TextAlignment.CenterLeft,
+ TextSize = 14,
};
lockRow.AddChidren(Btncancel);
Btncancel.MouseUpEventHandler += (sender16, e16) =>
@@ -230,7 +226,7 @@
TextAlignment = TextAlignment.Center,
X = Btncancel.Right + Application.GetRealWidth(100),
TextSize = 16,
- Text =userName,
+ Text = membershipIfon.UserName,
};
lockRow.AddChidren(Btntitle);
var Btncomplete = new Button
@@ -241,19 +237,22 @@
Width = Application.GetRealWidth(200),
TextAlignment = TextAlignment.CenterRight,
X = Btntitle.Right + Application.GetRealWidth(100),
+ TextSize = 14,
};
lockRow.AddChidren(Btncomplete);
#endregion
string SelectedLockStatus = "";
- lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.Count) - 20 - 50);
- lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.Count) + 20 + 50);
+ lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50);
+ lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50);
///瀹氫箟涓や釜鍙橀噺璁板綍閫変腑鐘舵�侊紱
- string attriButeId ="", attriButeData2 ="";
- for (int j = 0; j < membershipIfon.Count; j++)
+ string attriButeId = "";
+ string attriButeData2 = "";
+ string modeName = "";
+ for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
{
- var userIdmode = membershipIfon[j];
+ var userIdmode = membershipIfon.UserIdMode[j];
var doorlockfra = new FrameLayout
{
Height = Application.GetRealHeight(160),
@@ -277,29 +276,10 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
Text = userIdmode.ModeName,
+ TextSize = 14,
};
doorlockRow.AddChidren(doorlockBtn);
- //(0鎸夐敭/3鍗�/15鎸囩汗)
- //switch (userIdmode.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),
@@ -311,7 +291,7 @@
};
doorlockRow.AddChidren(doorlockSelected);
- if ((membershipIfon.Count - 1) == j)
+ if ((membershipIfon.UserIdMode.Count - 1) == j)
{
doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
}
@@ -324,6 +304,7 @@
//doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
attriButeId = userIdmode.OpenMode.ToString();
attriButeData2 = userIdmode.UserId;
+ modeName = userIdmode.ModeName;
};
doorlockRow.MouseUpEventHandler += doorlockclick;
doorlockBtn.MouseUpEventHandler += doorlockclick;
@@ -339,6 +320,8 @@
selectedIcon = doorlockSelected;
doorlockSelected.Visible = true;
}
+
+
}
}
@@ -354,11 +337,16 @@
lockConditionsInfo.Add("AttriButeData2", attriButeData2);
lockConditionsInfo.Add("AttriButeData1", "2");
lockConditionsInfo.Add("Range", "0");
+ var accounts = new Dictionary<string, string>();
+ accounts.Add("Type", "1");
+ accounts.Add("Account", membershipIfon.UserName+ modeName);
+ accounts.Add("UserId", attriButeData2);
if (SelectedLockStatus != "")
{
if (conditionsIndex == -1)
{
- bool add = false;
+ bool addCondition = false;
+ bool addAccount = false;
for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++)
{
if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1")
@@ -367,23 +355,53 @@
{
if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == lockConditionsInfo["AttriButeId"] && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == lockConditionsInfo["AttriButeData2"])
{
- add = true;
+ addCondition = true;
break;
}
}
}
}
-
- if (!add)
+ if (!addCondition)
{
Common.Logic.CurrentLogic.Conditions.Add(lockConditionsInfo);
}
+ for (int i = 0; i < Common.Logic.CurrentLogic.Accounts.Count; i++)
+ {
+ if (Common.Logic.CurrentLogic.Accounts[i]["Type"] == "1")
+ {
+ if (Common.Logic.CurrentLogic.Accounts[i]["UserId"] == attriButeData2)
+ {
+ addAccount = true;
+ break;
+ }
+ }
+ }
+ if (!addAccount)
+ {
+ Common.Logic.CurrentLogic.Accounts.Add(accounts);
+ }
}
else
{
+ ///鎵惧嚭涔嬪墠鐨勬棫鏁版嵁绉婚櫎鎺夛紝鍐嶉噸鏂版坊鍔犳柊鏁版嵁锛�
+ string accountuserId = Common.Logic.CurrentLogic.Conditions[conditionsIndex]["AttriButeData2"];
Common.Logic.CurrentLogic.Conditions.RemoveAt(conditionsIndex);
Common.Logic.CurrentLogic.Conditions.Insert(conditionsIndex, lockConditionsInfo);
+ for (int i = 0; i < Common.Logic.CurrentLogic.Accounts.Count; i++)
+ {
+ if (Common.Logic.CurrentLogic.Accounts[i]["Type"] == "1")
+ {
+ ///鎵惧嚭涔嬪墠鐨勬棫鏁版嵁绉婚櫎鎺夛紝鍐嶉噸鏂版坊鍔犳柊鏁版嵁锛�
+ if (Common.Logic.CurrentLogic.Accounts[i]["UserId"] == accountuserId)
+ {
+ Common.Logic.CurrentLogic.Accounts.RemoveAt(i);
+ Common.Logic.CurrentLogic.Accounts.Insert(i, accounts);
+ break;
+ }
+ }
+ }
+
}
}
--
Gitblit v1.8.0