From a0b77501012265c4638c9f49ccfd1e6cd0f71a45 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 09 三月 2023 18:44:00 +0800
Subject: [PATCH] 2023年03月09日18:43:53

---
 HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs |  235 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 146 insertions(+), 89 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs
index b6922dc..1a58e4d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs
@@ -44,6 +44,10 @@
         /// </summary>
         private Button btnCell;
         /// <summary>
+        /// 鐢甸噺杩涘害鏉�
+        /// </summary>
+        private DiyArcSeekBar cellDiyArcSeekBar;
+        /// <summary>
         ///鏀惰棌鍥炬爣
         /// </summary>
         private Button btnCollectIcon;
@@ -55,10 +59,6 @@
         /// 瀹炴椂瑙嗛
         /// </summary>
         private CustomFrameLayout rtvFL;
-        /// <summary>
-        /// 涓�閿紑閿�
-        /// </summary>
-        private CustomFrameLayout openFL;
         /// <summary>
         /// 涓存椂瀵嗙爜
         /// </summary>
@@ -72,6 +72,10 @@
         /// 琛ㄧず鏉ヨ嚜閭d釜鐣岄潰
         /// </summary>
         private Comerom Comerom;
+        /// <summary>
+        /// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟
+        /// </summary>
+        public Action action;
         #endregion
 
 
@@ -81,12 +85,13 @@
         /// <param name="function">璁惧</param>
         /// <param name="btnDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢</param>
         /// <param name="btnRoomName">涓婁竴绾х晫闈㈢殑鎴块棿鍚嶅瓧鎺т欢</param> 
-        public VideoDoorLockPage(Function function, Button btnDeviceName, Button btnRoomName, Comerom comerom)
+        public VideoDoorLockPage(Function function, Button btnDeviceName, Button btnRoomName, Comerom comerom, Action action)
         {
             this.device = function;
             this.btnDeviceName = btnDeviceName;
             this.btnRoomName = btnRoomName;
             this.Comerom = comerom;
+            this.action = action;
 
         }
 
@@ -95,10 +100,15 @@
             //鍒濆鍖朥I
             this.InitUI();
             //鍒濆鍖栦簨浠�
-            this.EventListener ();
+            this.EventListener();
+            //璇诲彇鏁版嵁
+            this.ReadData();
+
 
 
         }
+
+
         /// <summary>
         /// 鍒濆鍖栫晫闈�
         /// </summary>
@@ -108,16 +118,16 @@
             this.BackgroundColor = MusicColor.ViewColor;
             this.topView = new TopView();
             this.topView.setBtn.Visible = true;
-            this.topView.topNameBtn.TextID =StringId.shipinmensuo;
+            this.topView.topNameBtn.TextID = StringId.shipinmensuo;
             this.AddChidren(topView.TopFLayoutView());
-            var middleFl=new FrameLayout
+            var middleFl = new FrameLayout
             {
                 Y = topView.fLayout.Bottom,
                 Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
             };
             this.AddChidren(middleFl);
 
-            var whiteFl = new FrameLayout 
+            var whiteFl = new FrameLayout
             {
                 Y = Application.GetRealHeight(24),
                 X = Application.GetRealWidth(24),
@@ -128,48 +138,6 @@
             };
             middleFl.AddChidren(whiteFl);
 
-
-            btnCurrDeviceName= new Button
-            {
-                TextSize = TextSize.Text24,
-                TextColor = MusicColor.Text18Color,
-                Width = Application.GetRealWidth(160),
-                Height = Application.GetRealHeight(33),
-                Y = Application.GetRealHeight(16),
-                X = Application.GetRealWidth(16),
-                Text = this.device.name,
-                TextAlignment=TextAlignment.CenterLeft,
-            };
-            whiteFl.AddChidren(btnCurrDeviceName);
-
-            btnCurrDeviceRoom = new Button
-            {
-                TextSize = TextSize.Text12,
-                TextColor = MusicColor.MusicNoTxetColor,
-                Width = Application.GetRealWidth(160),
-                Height = Application.GetRealHeight(33),
-                Y = btnCurrDeviceName.Bottom+ Application.GetRealHeight(4),
-                X = Application.GetRealWidth(16),
-                Text = this.device.GetRoomListName(),
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            whiteFl.AddChidren(btnCurrDeviceRoom);
-            btnCurrDeviceRoom.Width=btnCurrDeviceName.GetTextWidth();
-
-            btnCell = new Button
-            {
-                TextSize = TextSize.Text10,
-                TextColor = MusicColor.TextColor,
-                Y = Application.GetRealHeight(43),
-                X = btnCurrDeviceRoom.Right+Application.GetRealWidth(17),
-                //Text ="60"+"%",
-                //TextAlignment = TextAlignment.Center,
-                Width = Application.GetRealWidth(36),
-                Height = Application.GetRealWidth(36),
-                UnSelectedImagePath ="FunctionIcon/DoorLock/Cell.png",
-            };
-            whiteFl.AddChidren(btnCell);
-
             btnCollectIcon = new Button
             {
                 X = Application.GetRealWidth(264),
@@ -178,10 +146,84 @@
                 Height = Application.GetRealWidth(40),
                 UnSelectedImagePath = "MusicIcon/collect.png",
                 SelectedImagePath = "MusicIcon/collectSelected.png",
-                IsSelected= this.device.collect,
+                IsSelected = this.device.collect,
                 Name = "collect"
             };
             whiteFl.AddChidren(btnCollectIcon);
+
+            btnCurrDeviceName = new Button
+            {
+                TextSize = TextSize.Text24,
+                TextColor = MusicColor.Text18Color,
+                Width = Application.GetRealWidth(160),
+                Height = Application.GetRealHeight(33),
+                Y = Application.GetRealHeight(16),
+                X = Application.GetRealWidth(16),
+                Text = this.device.name,
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            whiteFl.AddChidren(btnCurrDeviceName);
+
+            btnCurrDeviceName.Width = btnCurrDeviceName.GetTextWidth();
+            if (btnCurrDeviceName.GetTextWidth() > btnCollectIcon.X)
+            {
+                btnCurrDeviceName.Width = btnCollectIcon.X;
+            }
+            btnCurrDeviceRoom = new Button
+            {
+                TextSize = TextSize.Text12,
+                TextColor = MusicColor.MusicNoTxetColor,
+                Width = Application.GetRealWidth(160),
+                Height = Application.GetRealHeight(17),
+                Y = btnCurrDeviceName.Bottom + Application.GetRealHeight(4),
+                X = Application.GetRealWidth(16),
+                Text = this.device.GetRoomListName(),
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            whiteFl.AddChidren(btnCurrDeviceRoom);
+            btnCurrDeviceRoom.Width = btnCurrDeviceRoom.GetTextWidth();
+
+            var cellFrame = new FrameLayout
+            {
+                X = btnCurrDeviceRoom.Right + Application.GetRealWidth(20),
+                Y = btnCurrDeviceName.Bottom + Application.GetRealHeight(5),
+                Width = Application.GetRealWidth(30),
+                Height = Application.GetRealHeight(16),
+            };
+            whiteFl.AddChidren(cellFrame);
+
+
+
+            cellDiyArcSeekBar = new DiyArcSeekBar
+            {
+                X = Application.GetRealWidth(3),
+                Y = Application.GetRealHeight(3),
+                Width = cellFrame.Width + Application.GetRealWidth(-6),
+                Height = cellFrame.Height + Application.GetRealHeight(-6),
+                Progress = 60,
+                ProgressBarColor = MusicColor.MusicNoTxetColor,
+                MaxValue = 100,
+                MinValue = 0,
+
+                //IsCanMove = false,
+                //IsCanScrolled=false,
+            };
+            //cellFrame.AddChidren(cellDiyArcSeekBar);
+
+            btnCell = new Button
+            {
+                TextSize = TextSize.Text10,
+                TextColor = MusicColor.TextColor,
+                Text = "60" + "%",
+                TextAlignment = TextAlignment.Center,
+                UnSelectedImagePath = "FunctionIcon/DoorLock/Cell.png",
+            };
+            cellFrame.AddChidren(btnCell);
+
+
+
+
+
             //闂ㄩ攣鐘舵��
             btnDoorLockIcon = new Button
             {
@@ -193,12 +235,12 @@
                 SelectedImagePath = "FunctionIcon/DoorLock/UnLocking.png",
             };
             whiteFl.AddChidren(btnDoorLockIcon);
-            
+            int heightY = btnDoorLockIcon.Bottom + Application.GetRealHeight(70);
             //瀹炴椂瑙嗛
             rtvFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout);
             whiteFl.AddChidren(rtvFL);
-            rtvFL.Y = btnDoorLockIcon.Bottom+ Application.GetRealHeight(45);
-            rtvFL.X = Application.GetRealWidth(68);
+            rtvFL.Y = heightY;
+            rtvFL.X = Application.GetRealWidth(41);
             rtvFL.AddImageView();
             rtvFL.AddTextButtonView();
             rtvFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/RTV.png";
@@ -206,32 +248,24 @@
             //鍘嗗彶璁板綍
             recordFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout);
             whiteFl.AddChidren(recordFL);
-            recordFL.Y = btnDoorLockIcon.Bottom + Application.GetRealHeight(45);
-            recordFL.X = rtvFL.Right + Application.GetRealHeight(CustomFrameLayout.interval);  
+            recordFL.Y = heightY;
+            recordFL.X = rtvFL.Right + Application.GetRealWidth(CustomFrameLayout.interval);
             recordFL.AddImageView();
             recordFL.AddTextButtonView();
             recordFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/HistoryList.png";
             recordFL.GetTextButton().TextID = StringId.lishijilu;
-            //涓�閿紑閿�
-            openFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout);
-            whiteFl.AddChidren(openFL);
-            openFL.X = rtvFL.X; 
-            openFL.Y = rtvFL.Bottom+Application.GetRealHeight(14);
-            openFL.AddImageView();
-            openFL.AddTextButtonView();
-            openFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/OneOpenLock.png";
-            openFL.GetTextButton().TextID = StringId.yijiankaisuo;
             //涓存椂瀵嗙爜
             pswFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout);
             whiteFl.AddChidren(pswFL);
-            pswFL.X = recordFL.X;
-            pswFL.Y = rtvFL.Bottom + Application.GetRealHeight(14);
+            pswFL.Y = heightY;
+            pswFL.X = recordFL.Right + Application.GetRealWidth(CustomFrameLayout.interval);
             pswFL.AddImageView();
             pswFL.AddTextButtonView();
             pswFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/OneOpenLock.png";
             pswFL.GetTextButton().TextID = StringId.linshimima1;
-           
+
             #endregion
+
 
         }
         /// <summary>
@@ -261,7 +295,7 @@
                     this.btnRoomName.Text = this.device.GetRoomListName();
                     this.topView.topNameBtn.Text = this.device.name;
                     this.btnCurrDeviceName.Text = this.device.name;
-                    this.btnCurrDeviceRoom.Text= this.device.GetRoomListName();
+                    this.btnCurrDeviceRoom.Text = this.device.GetRoomListName();
 
                     ////浠庢柊璁$畻瀹藉害
                     //this.btnDeviceName.Text = btnDeviceName.Text;
@@ -272,27 +306,54 @@
 
                     ////鍥炶皟浜嬩欢
                     //this.SettionFinishEvent?.Invoke();
+                }, () =>
+                {
+                    //瑙g粦璁惧鍚�
+                    this.RemoveFromParent();
+                    this.action?.Invoke();
                 });
                 MainPage.BasePageView.AddChidren(infoView);
                 infoView.LoadPage();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             };
             //鏀惰棌
-            btnCollectIcon.MouseUpEventHandler += (sender, e) =>
+            this.btnCollectIcon.MouseUpEventHandler += (sender, e) =>
             {
                 btnCollectIcon.IsSelected = this.device.collect = !btnCollectIcon.IsSelected;
                 this.device.CollectFunction();
             };
             //瀹炴椂瑙嗛
-            rtvFL.SetClickListener((fl, btnStateImage, btnStateText) => { });
-            //涓�閿紑閿�
-            openFL.SetClickListener((fl, btnStateImage, btnStateText) => { });
-            //涓存椂瀵嗙爜
-            pswFL.SetClickListener((fl, btnStateImage, btnStateText) => { });
-            //鍘嗗彶璁板綍
-            recordFL.SetClickListener((fl, btnStateImage, btnStateText) => { });
-           
+            this.rtvFL.SetClickListener((fl, btnStateImage, btnStateText) =>
+            {
 
+            });
+            //涓存椂瀵嗙爜
+            this.pswFL.SetClickListener((fl, btnStateImage, btnStateText) => { });
+            //鍘嗗彶璁板綍
+            this.recordFL.SetClickListener((fl, btnStateImage, btnStateText) => { });
+
+
+        }
+        /// <summary>
+        /// 鍒濆鏁版嵁
+        /// </summary>
+        private void ReadData()
+        {
+            new System.Threading.Thread(() =>
+            {
+                HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.Send.Currnet.GetCellValue(this.device, (value) =>
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        //this.cellDiyArcSeekBar.Progress = i;
+                        //鏇存柊鐢甸噺鍊�
+                        this.btnCell.Text = value + "%";
+                    });
+
+                });
+
+            })
+            { IsBackground = true }.Start();
         }
 
     }
@@ -301,11 +362,11 @@
     /// </summary>
     class CustomFrameLayout : FrameLayout
     {
-        public const int widthFrameLayout = 74;
-        public const int heightFrameLayout = 70;
-        public const int yFrameLayout = 353;
-        public const int xFrameLayout = 68;
-        public const int interval = 47;//琛屼腑鐨勫垪闂撮殧鍊�
+        public const int widthFrameLayout = 48;
+        public const int heightFrameLayout = 53;
+        public const int yFrameLayout = 378;
+        public const int xFrameLayout = 41;
+        public const int interval = 51;//琛屼腑鐨勫垪闂撮殧鍊�
 
         public CustomFrameLayout(int width, int height, int x = 0, int y = 0)
         {
@@ -372,11 +433,7 @@
         {
             EventHandler<MouseEventArgs> click = (sender, e) =>
                     {
-                        if (action == null)
-                        {
-                            return;
-                        }
-                        action(this, btnStateImage, btnStateText);
+                        action?.Invoke(this, btnStateImage, btnStateText);
                     };
             this.MouseUpEventHandler += click;
             btnStateImage.MouseUpEventHandler += click;

--
Gitblit v1.8.0