From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs |  100 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 61 insertions(+), 39 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
index 43a4379..777464d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
@@ -65,64 +65,67 @@
         /// </summary>
         private void InitTabSwitchControl()
         {
+            var frameBack = new FrameLayout();
+            frameBack.Height = Application.GetRealHeight(1300);
+            frameBack.Y = Application.GetRealHeight(444);
+            frameBack.BackgroundColor = 0xa1ffffff;
+            frameBack.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+            bodyFrameLayout.AddChidren(frameBack);
+
             //妗屽竷鎺т欢
             frameLayoutDraw = new FrameLayout();
-            frameLayoutDraw.Y = Application.GetRealHeight(590);
-            frameLayoutDraw.Height = bodyFrameLayout.Height - Application.GetRealHeight(590);
-            bodyFrameLayout.AddChidren(frameLayoutDraw);
-
-            //涓存椂鐨勪竴涓笢瑗�,鐢ㄦ潵璁$畻鐪熷疄鍊艰�屽凡
-            var btnTemp = new NormalViewControl(100, false);
-            int realLogWidth = btnTemp.GetRealWidthByText(16, Language.StringByID(R.MyInternationalizationString.uSecurityLog));
-            int realSensorWidth = btnTemp.GetRealWidthByText(16, Language.StringByID(R.MyInternationalizationString.uSensorStatu));
-            btnTemp = null;
+            frameLayoutDraw.Y = Application.GetRealHeight(181);
+            frameLayoutDraw.Height = frameBack.Height - Application.GetRealHeight(181);
+            frameBack.AddChidren(frameLayoutDraw);
 
             //瀹夐槻璁板綍(鐐瑰嚮鑼冨洿鏈夌偣灏忥紝闇�瑕佹墿澶у畠鐨勭偣鍑昏寖鍥�)
-            var frameLog = new FrameLayoutControl();
+            var frameLog = new FrameLayoutStatuControl();
             frameLog.UseClickStatu = false;
             frameLog.Height = Application.GetRealHeight(123);
-            frameLog.Width = realLogWidth;
-            frameLog.X = Application.GetRealWidth(489) - realLogWidth;
-            frameLog.Y = Application.GetRealHeight(467);
-            bodyFrameLayout.AddChidren(frameLog);
+            frameLog.Width = Application.GetRealWidth(273);
+            frameLog.X = Application.GetRealWidth(259);
+            frameLog.Y = Application.GetRealHeight(58);
+            frameBack.AddChidren(frameLog);
             //鏍囬
             var btnLog = new NormalViewControl(100, 63, true);
-            btnLog.Width = realLogWidth;
-            btnLog.TextAlignment = TextAlignment.CenterRight;
+            btnLog.Width = frameLog.Width;
+            btnLog.TextAlignment = TextAlignment.Center;
             btnLog.TextID = R.MyInternationalizationString.uSecurityLog;
             btnLog.TextColor = UserCenterColor.Current.TextGrayColor3;
-            frameLog.AddChidren(btnLog, ChidrenBindMode.BindEventOnly);
+            frameLog.AddChidren(btnLog, ChidrenBindMode.BindEvent);
             //搴曠嚎
             var btnLogLine = new NormalViewControl(40, 10, true);
             btnLogLine.Y = Application.GetRealHeight(86);
             btnLogLine.X = btnLog.X + btnLog.Width / 2 - Application.GetRealWidth(40) / 2;
             btnLogLine.Radius = (uint)Application.GetRealHeight(10) / 2;
             btnLogLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
-            frameLog.AddChidren(btnLogLine, ChidrenBindMode.BindEventOnly);
+            frameLog.AddChidren(btnLogLine, ChidrenBindMode.BindEvent);
             btnLogLine.Visible = false;
 
             //浼犳劅鍣ㄧ姸鎬�(鐐瑰嚮鑼冨洿鏈夌偣灏忥紝闇�瑕佹墿澶у畠鐨勭偣鍑昏寖鍥�)
-            var frameSensor = new FrameLayoutControl();
+            var frameSensor = new FrameLayoutStatuControl();
             frameSensor.UseClickStatu = false;
             frameSensor.Height = frameLog.Height;
-            frameSensor.Width = realSensorWidth;
-            frameSensor.X = Application.GetRealWidth(550);
+            frameSensor.Width = frameLog.Width;
+            frameSensor.X = frameLog.Right;
             frameSensor.Y = frameLog.Y;
-            bodyFrameLayout.AddChidren(frameSensor);
+            frameBack.AddChidren(frameSensor);
             //鏍囬
             var btnSensor = new NormalViewControl(100, 63, true);
-            btnSensor.Width = realSensorWidth;
+            btnSensor.Width = frameSensor.Width;
             btnSensor.TextID = R.MyInternationalizationString.uSensorStatu;
             btnSensor.TextSize = 16;
+            btnSensor.TextAlignment = TextAlignment.Center;
             btnSensor.TextColor = UserCenterColor.Current.TextColor2;
-            frameSensor.AddChidren(btnSensor, ChidrenBindMode.BindEventOnly);
+            btnSensor.IsBold = true;
+            frameSensor.AddChidren(btnSensor, ChidrenBindMode.BindEvent);
             //搴曠嚎
             var btnSensorLine = new NormalViewControl(40, 10, true);
             btnSensorLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
             btnSensorLine.Y = btnLogLine.Y;
             btnSensorLine.X = btnSensor.X + btnSensor.Width / 2 - Application.GetRealWidth(40) / 2;
             btnSensorLine.Radius = (uint)Application.GetRealHeight(10) / 2;
-            frameSensor.AddChidren(btnSensorLine, ChidrenBindMode.BindEventOnly);
+            frameSensor.AddChidren(btnSensorLine, ChidrenBindMode.BindEvent);
 
             //瀹夐槻璁板綍Tab
             frameLog.ButtonClickEvent += (sender, e) =>
@@ -130,8 +133,10 @@
                 //瀛椾綋澶у皬鍜岄鑹插彉鏇�
                 btnSensor.TextColor = UserCenterColor.Current.TextGrayColor3;
                 btnSensor.TextSize = 14;
+                btnSensor.IsBold = false;
                 btnLog.TextColor = UserCenterColor.Current.TextColor2;
                 btnLog.TextSize = 16;
+                btnLog.IsBold = true;
 
                 btnLogLine.Visible = true;
                 btnSensorLine.Visible = false;
@@ -148,8 +153,10 @@
                 //瀛椾綋澶у皬鍜岄鑹插彉鏇�
                 btnSensor.TextColor = UserCenterColor.Current.TextColor2;
                 btnSensor.TextSize = 16;
+                btnSensor.IsBold = true;
                 btnLog.TextColor = UserCenterColor.Current.TextGrayColor3;
                 btnLog.TextSize = 14;
+                btnLog.IsBold = false;
 
                 btnLogLine.Visible = false;
                 btnSensorLine.Visible = true;
@@ -183,7 +190,7 @@
                 btnIcon.ButtonClickEvent += (sender, e) =>
                 {
                     //鑿滃崟鎺т欢
-                    var frameMenu = new TopRightMenuControl(2);
+                    var frameMenu = new TopRightMenuControl(2, 2);
                     //闃插尯鍒楄〃
                     string menu1 = Language.StringByID(R.MyInternationalizationString.uGarrisonAreaList);
                     frameMenu.AddRowMenu(menu1, "Item/GarrisonList.png", "Item/GarrisonListSelected.png", () =>
@@ -231,7 +238,7 @@
 
             topFrameLayout.AddChidren(btnShortCut);
             btnShortCut.InitControl();
-            if (UserCenterResourse.Option.SafetyShortcut == true)
+            if (UserCenterResourse.ResidenceOption.SafetyShortcut == true)
             {
                 //浣跨敤蹇嵎鏂瑰紡
                 btnShortCut.IsSelected = true;
@@ -243,9 +250,11 @@
                     //纭畾鍙栨秷涓婚〉鐨勩�屽畨闃层�嶆嵎寰勶紵
                     this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uCancelSafetyShortcutMsg), () =>
                     {
-                        UserCenterResourse.Option.SafetyShortcut = false;
-                        UserCenterResourse.Option.Save();
+                        UserCenterResourse.ResidenceOption.SafetyShortcut = false;
+                        UserCenterResourse.ResidenceOption.Save();
                         btnShortCut.IsSelected = false;
+                        //鍙栨秷涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
+                        UserView.UserPage.Instance.RefreshForm = true;
                     });
                 }
                 else
@@ -253,9 +262,11 @@
                     //纭畾鍒涘缓銆屽畨闃层�嶆嵎寰勫埌涓婚〉锛�
                     this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uCreatSafetyShortcutMsg), () =>
                     {
-                        UserCenterResourse.Option.SafetyShortcut = true;
-                        UserCenterResourse.Option.Save();
+                        UserCenterResourse.ResidenceOption.SafetyShortcut = true;
+                        UserCenterResourse.ResidenceOption.Save();
                         btnShortCut.IsSelected = true;
+                        //鍒涘缓涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
+                        UserView.UserPage.Instance.RefreshForm = true;
                     });
                 }
             };
@@ -421,6 +432,8 @@
                             }
                         }
                     }
+                    //璋冩暣鍒楄〃鎺т欢楂樺害
+                    listView.AdjustChidrenFrameHeight(listView.frameTable, Application.GetRealHeight(46));
                     //寮�鍚紶鎰熷櫒鎶ヨ鐩戣
                     this.StartCheckDeviceAlarm();
                     //寮�鍚澶囧湪绾跨洃娴�
@@ -445,11 +458,10 @@
 
             //鑷畾涔変紶鎰熷櫒鐘舵�佹帶浠�
             var frameDevice = new SafetySensorStatuControl();
-            listView.AddChidrenFrame(frameDevice);
+            listView.AddChidren(frameDevice);
             frameDevice.InitControl(device);
             //娣诲姞闃村奖鐗规晥
-            var btnTemp = new ButtonBase();
-            btnTemp.AddBottomShadow(frameDevice);
+            frameDevice.SetViewShadow(true);
 
             string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
             this.dicSensorStatuView[mainkeys] = frameDevice;
@@ -482,7 +494,7 @@
                 var control = this.dicSensorStatuView[mainkey];
                 //鑾峰彇浼犳劅鍣ㄦ姤璀︿俊鎭殑缈昏瘧鏂囨湰
                 var msgInfo = HdlAlarmsLogic.Current.GetSensorAlarmInfo(device);
-                Application.RunOnMainThread(() =>
+                HdlThreadLogic.Current.RunMain(() =>
                 {
                     control?.SetSensoReportInfo(msgInfo);
                 });
@@ -541,7 +553,16 @@
                         //鐣岄潰鍏抽棴
                         return;
                     }
-                    Common.LocalDevice.Current.GetDeviceListFromGateway(zbway, false, this.ReceiveDeviceStatuPush, ShowErrorMode.NO);
+                    int statu = 0;
+                    var list = Common.LocalDevice.Current.GetDeviceListFromGateway(zbway, ref statu, false, ShowErrorMode.NO);
+                    if (statu != -1)
+                    {
+                        for (int i = 0; i < list.Count; i++)
+                        {
+                            //璁剧疆璁惧鍦ㄧ嚎鐘舵��
+                            this.ReceiveDeviceStatuPush(list[i]);
+                        }
+                    }
                 }
             });
         }
@@ -582,7 +603,8 @@
                     Application.RunOnMainThread(() =>
                     {
                         //璁剧疆鎺т欢鐨勫湪绾跨姸鎬佹枃鏈晥鏋�
-                        control?.SetOnlineStatu(device.IsOnline == 1);
+                        bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(device);
+                        control?.SetOnlineStatu(bolOnline);
                     });
                 }
             }
@@ -668,7 +690,7 @@
                     //鎵ц鍒濆鍖�
                     TodaySafeguardFrame = new SafeguardLogControl();
                     TodaySafeguardFrame.Y = Application.GetRealHeight(10);
-                    listView.AddChidrenFrame(TodaySafeguardFrame);
+                    listView.AddChidren(TodaySafeguardFrame);
                     TodaySafeguardFrame.InitControl(nowDayKey, nowDayData);
 
                     //鍒濆鍖栧叾浠栨棩鏈熺殑瀹夐槻璁板綍鎺т欢
@@ -676,7 +698,7 @@
                     {
                         otherDaySafeguardFrame = new FrameLayout();
                         otherDaySafeguardFrame.Height = Application.GetRealHeight(10);
-                        listView.AddChidrenFrame(otherDaySafeguardFrame);
+                        listView.AddChidren(otherDaySafeguardFrame);
                         foreach (var dayText in dicInfo.Keys)
                         {
                             //鎵ц鍒濆鍖�

--
Gitblit v1.8.0