From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:25:59 +0800
Subject: [PATCH] 2024年07月25日17:24:45

---
 HDL_ON/UI/UI2/FuntionControlView/Aks/TvPage.cs |  360 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 311 insertions(+), 49 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/TvPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/TvPage.cs
index 527709b..0cd10f0 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/TvPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/TvPage.cs
@@ -2,6 +2,8 @@
 using System.Collections.Generic;
 using HDL_ON.UI.Music;
 using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView;
+using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
 using Shared;
 using static HDL_ON.UI.UI2.FuntionControlView.Aks.AksPage;
 namespace HDL_ON.UI.UI2.FuntionControlView.Aks
@@ -11,20 +13,51 @@
     /// </summary>
     public class TvPage : BaseFramLayout
     {
-        public TvPage()
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="remoteControlEntity">閬ユ帶鍣ㄥ璞�</param>
+        /// <param name="sequencerList">鏃跺簭鍣ㄥ垪琛�</param>
+        public TvPage(RemoteControlEntity remoteControlEntity, List<SequencerEntity> sequencerList)
         {
+            this.remoteControl = remoteControlEntity;
+            this.sequencerList = sequencerList;
         }
+        /// <summary>
+        /// 鏃跺簭鍣ㄥ垪琛�
+        /// </summary>
+        private List<SequencerEntity> sequencerList;
+        /// <summary>
+        /// 褰撳墠鐨勯仴鎺у櫒瀵硅薄
+        /// </summary>
+        private RemoteControlEntity remoteControl;
         public Action<IntType> action;
+        /// <summary>
+        /// 鏈�涓婇潰鍔熻兘閿鍣�
+        /// </summary>
         CornerFramLayout cornerTopFram;
+        /// <summary>
+        /// 鏁板瓧鎸夐敭瀹瑰櫒
+        /// </summary>
+        CornerFramLayout numberFrame;
+        /// <summary>
+        /// 鑿滃崟瀹瑰櫒
+        /// </summary>
         MenuFramLayout menuFram;
+        /// <summary>
+        /// 鍒囨崲璁惧瀹瑰櫒
+        /// </summary>
         TypeMultiFramLayout typeMultiFramLayout;
+
+        TypeSingleFramLayout tvSingleFramLayout;
+
 
         public void Show()
         {
             //鍒濆鍖朥I
             this.InitUI();
-            //鍒濆鍖栦簨浠�
-            //this.EventListener();
+            //鍒濆鍖栦簨浠剁洃鍚櫒
+            this.EventListener();
             //璇诲彇鏁版嵁
             this.ReadData();
 
@@ -34,50 +67,79 @@
         {
 
         }
-
+        /// <summary>
+        /// 浜嬩欢鐩戝惉鍣�
+        /// </summary>
         private void EventListener()
         {
-            cornerTopFram.selectAction += (value) =>
+            //鍔熻兘閿帶鍒�
+            cornerTopFram.selectKeyAction += (keypadEntity) =>
             {
-                Console.WriteLine("1");
+                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
             };
-
-            menuFram.SetTopClickListener((b) =>
+            //鏁板瓧閿帶鍒�
+            numberFrame.selectKeyAction += (keypadEntity) =>
+            {
+                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
+            };
+            //鑿滃崟涓婃寜閿�
+            menuFram.SetTopClickListener((keypadEntity) =>
             {
 
-                Console.WriteLine("5");
+
+                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
             });
-            menuFram.SetBottomClickListener((b) =>
+            //鑿滃崟涓嬫寜閿�
+            menuFram.SetBottomClickListener((keypadEntity) =>
             {
-                Console.WriteLine("6");
+
+                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
             });
-            menuFram.SetLeftClickListener((b) =>
+            //鑿滃崟宸︽寜閿�
+            menuFram.SetLeftClickListener((keypadEntity) =>
             {
-                Console.WriteLine("7");
+
+                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
             });
-            menuFram.SetRightClickListener((b) =>
+            //鑿滃崟鍙虫寜閿�
+            menuFram.SetRightClickListener((keypadEntity) =>
             {
-                Console.WriteLine("8");
+
+                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
             });
-            menuFram.SetOkClickListener((b) =>
+            //鑿滃崟ok鎸夐敭
+            menuFram.SetOkClickListener((keypadEntity) =>
             {
-                Console.WriteLine("9");
+
+                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
             });
 
-            typeMultiFramLayout.SetLeftFlClickListener((f) =>
+            if (tvSingleFramLayout != null)
             {
-                SxqPage sxqPage = new SxqPage();
-                MainPage.BasePageView.AddChidren(sxqPage);
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                sxqPage.Show();
+                //璁惧鍒囨崲
+                tvSingleFramLayout.SetClickListener((f) =>
+                {
+                    action?.Invoke(IntType.TV);
+                });
+            }
 
-            });
-
-            typeMultiFramLayout.SetRightFlClickListener((f) =>
+            if (typeMultiFramLayout != null)
             {
-                Console.WriteLine("4");
-                action?.Invoke(IntType.TV);
-            });
+                //鏃跺簭鍣�
+                typeMultiFramLayout.SetLeftFlClickListener((f) =>
+                {
+                    SxqPage sxqPage = new SxqPage(this.sequencerList, this.remoteControl.deviceId);
+                    MainPage.BasePageView.AddChidren(sxqPage);
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    sxqPage.Show();
+
+                });
+                //璁惧鍒囨崲
+                typeMultiFramLayout.SetRightFlClickListener((f) =>
+                {
+                    action?.Invoke(IntType.TV);
+                });
+            }
 
         }
 
@@ -93,42 +155,242 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = MusicColor.TextColor,
                 TextSize = TextSize.Text16,
-                TextID = StringId.dianshi,
+                Text= this.remoteControl.name,
+                IsBold = true,
             };
             this.AddChidren(btnTitle);
 
-            cornerTopFram = new CornerFramLayout(343, 452, 4, 17);
+            cornerTopFram = new CornerFramLayout(343, 368-24, 17);
             cornerTopFram.X = Application.GetRealWidth(16);
             cornerTopFram.Y = btnTitle.Bottom + Application.GetRealHeight(16);
             this.AddChidren(cornerTopFram);
-            cornerTopFram.SetList(cornerTopFram.GetTestList(17));
             cornerTopFram.SetMargin(16, 0, 16, 0);
-            cornerTopFram.LoadButtonPage(new List<int> { 5, 6 });
+            cornerTopFram.LoadButtonPage(AksCommonMethod.Current.GetTvKeypadList(this.remoteControl),new List<int> { 5, 6 });
+
+            #region  ----棰戦亾 鎺у埗----
+            FrameLayout middLayout = new FrameLayout
+            {
+                Y = cornerTopFram.Bottom,
+                Height = Application.GetRealHeight(61),
+            };
+            this.AddChidren(middLayout);
+
+            FrameLayout leftLayout = new FrameLayout
+            {
+                X = Application.GetRealWidth(105),
+                Y = Application.GetRealHeight(16),
+                Height = Application.GetRealHeight(29),
+                Width = Application.GetRealWidth(32),
+
+            };
+            middLayout.AddChidren(leftLayout);
+
+
+            Button leftBtnTitle = new Button
+            {
+                Height = Application.GetRealHeight(22),
+                Width = leftLayout.Width,
+                TextAlignment = TextAlignment.Center,
+                TextColor = MusicColor.TextColor,
+                SelectedTextColor = MusicColor.MusicTxet14SelectedColor,
+                TextSize = TextSize.Text16,
+                TextID = StringId.pindao,
+                Padding = new Padding(0, 0, 0, 0),
+                IsBold = true,
+            };
+            leftLayout.AddChidren(leftBtnTitle);
+
+
+            Button leftBtnLine = new Button
+            {
+                Y = leftBtnTitle.Bottom + Application.GetRealHeight(4),
+                Height = Application.GetRealHeight(2),
+                Width = leftBtnTitle.GetTextWidth(),
+                BackgroundColor = MusicColor.TextColor,
+                SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor,
+                Gravity = Gravity.CenterHorizontal,
+            };
+            leftLayout.AddChidren(leftBtnLine);
+            //棰戦亾鐐瑰嚮鎺т欢
+            FrameLayout clickLeftLayout = new FrameLayout
+            {
+                Height = leftLayout.Height,
+                Width = leftLayout.Width,
+            };
+            leftLayout.AddChidren(clickLeftLayout);
+
+
+            FrameLayout rightLayout = new FrameLayout
+            {
+                X = leftLayout.Right + Application.GetRealWidth(100),
+                Y = leftLayout.Y,
+                Height = leftLayout.Height,
+                Width = leftLayout.Width,
+            };
+            middLayout.AddChidren(rightLayout);
+
+
+            Button rightBtnTitle = new Button
+            {
+                Height = Application.GetRealHeight(22),
+                Width = rightLayout.Width,
+                TextAlignment = TextAlignment.Center,
+                TextColor = MusicColor.TextColor,
+                SelectedTextColor = MusicColor.MusicTxet14SelectedColor,
+                TextSize = TextSize.Text16,
+                TextID = StringId.kongzhi,
+                Padding = new Padding(0, 0, 0, 0),
+                IsBold = true,
+            };
+            rightLayout.AddChidren(rightBtnTitle);
+
+            Button rightBtnLine = new Button
+            {
+                Y = rightBtnTitle.Bottom + Application.GetRealHeight(4),
+                Height = Application.GetRealHeight(2),
+                Width = rightBtnTitle.GetTextWidth(),
+                BackgroundColor = MusicColor.TextColor,
+                SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor,
+                Gravity = Gravity.CenterHorizontal,
+            };
+            rightLayout.AddChidren(rightBtnLine);
+
+            //鐢佃鐐瑰嚮鎺т欢
+            FrameLayout clickRightLayout = new FrameLayout
+            {
+                Height = leftLayout.Height,
+                Width = leftLayout.Width,
+            };
+            rightLayout.AddChidren(clickRightLayout);
 
 
 
-            NumberFrameLayout numberFrame = new NumberFrameLayout();
-            numberFrame.layout.X = Application.GetRealWidth(16);
-            numberFrame.layout.Y = cornerTopFram.Bottom + Application.GetRealHeight(16);
-            numberFrame.AddView(this);
+            #endregion
 
-            //CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 292, 0, 17);
-            //cornerBottomFram.X = Application.GetRealWidth(16);
-            //cornerBottomFram.Y = cornerTopFram.Bottom + Application.GetRealHeight(16);
-            //cornerBottomFram.BackgroundColor = MusicColor.WhiteColor;
-            //cornerBottomFram.Radius = (uint)Application.GetRealHeight(17);
-            //this.AddChidren(cornerBottomFram);
+            
+            //鏁板瓧鎸夐敭瀹瑰櫒
+            numberFrame = new CornerFramLayout(343, 368-24, 17);
+            numberFrame.X = Application.GetRealWidth(16);
+            numberFrame.Y = middLayout.Bottom;
+            numberFrame.BackgroundColor = MusicColor.WhiteColor;
+            numberFrame.SetMargin(16,0,16,0);
+            numberFrame.LoadNumberButtonPage(AksCommonMethod.Current.GetNumberKeypadList(this.remoteControl));
+            this.AddChidren(numberFrame);
+          
 
-            //menuFram = new MenuFramLayout();
-            //menuFram.Y = Application.GetRealHeight(24);
-            //menuFram.AddView(cornerBottomFram);
+            //鑿滃崟瀹瑰櫒
+            CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 292-30, 17);
+            cornerBottomFram.X = Application.GetRealWidth(16);
+            cornerBottomFram.Y = middLayout.Bottom;
+            cornerBottomFram.BackgroundColor = MusicColor.WhiteColor;
+            this.AddChidren(cornerBottomFram);
 
-            //typeMultiFramLayout = new TypeMultiFramLayout();
-            //typeMultiFramLayout.multiFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32);
-            //typeMultiFramLayout.AddView(cornerBottomFram);
-            //typeMultiFramLayout.btnBottonRightName.TextID =StringId.dianshi;
+            menuFram = new MenuFramLayout();
+            menuFram.Y = Application.GetRealHeight(24);
+            menuFram.AddView(cornerBottomFram);
+
+
+            if (sequencerList.Count == 0)
+            {
+                //娌℃湁鏃跺簭鍣�
+                tvSingleFramLayout = new TypeSingleFramLayout();
+                tvSingleFramLayout.AddView(cornerBottomFram);
+                tvSingleFramLayout.singleFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32);
+                tvSingleFramLayout.singleFramLayout.X = Application.GetRealWidth(226);
+                tvSingleFramLayout.singleFramLayout.Width = Application.GetRealWidth(101);
+                tvSingleFramLayout.btnName.Text = this.remoteControl.name;
+                tvSingleFramLayout.btnName.X = Application.GetRealWidth(16);
+                tvSingleFramLayout.btnName.Width = Application.GetRealWidth(48);
+                tvSingleFramLayout.btnRightImage.X = tvSingleFramLayout.btnName.Right + Application.GetRealWidth(8);
+                tvSingleFramLayout.btnRightImage.Width = Application.GetRealWidth(16);
+                tvSingleFramLayout.btnRightImage.Height = Application.GetRealWidth(16);
+                tvSingleFramLayout.btnRightImage.UnSelectedImagePath = "AksIcon/xuanze.png";
+                tvSingleFramLayout.btnRightImage.Gravity = Gravity.CenterVertical;
+                tvSingleFramLayout.btnLeftImage.Visible = false;
+                tvSingleFramLayout.CustomCalculationWidth(TypeSingleFramLayout.Orientation.right,
+                  tvSingleFramLayout.singleFramLayout,
+                  tvSingleFramLayout.btnName,
+                   tvSingleFramLayout.btnRightImage,
+                   48, 200);
+            }
+            else
+            {
+
+
+                typeMultiFramLayout = new TypeMultiFramLayout();
+                typeMultiFramLayout.multiFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32);
+                typeMultiFramLayout.AddView(cornerBottomFram);
+                typeMultiFramLayout.btnRightName.Text = this.remoteControl.name;
+            }
+
+            //鍒濆鍊�
+            leftBtnTitle.IsSelected = true;
+            leftBtnLine.IsSelected = true;
+            leftBtnLine.Visible = true;
+            rightBtnTitle.IsSelected = false;
+            rightBtnLine.IsSelected = false;
+            rightBtnLine.Visible = false;
+            numberFrame.Visible = true;
+            cornerBottomFram.Visible = false;
+
+            //棰戦亾鐐瑰嚮浜嬩欢
+            clickLeftLayout.MouseDownEventHandler += (sen, e) =>
+            {
+                leftBtnTitle.IsSelected = true;
+                leftBtnLine.IsSelected = true;
+                leftBtnLine.Visible = true;
+                rightBtnTitle.IsSelected = false;
+                rightBtnLine.IsSelected = false;
+                rightBtnLine.Visible = false;
+                numberFrame.Visible = true;
+                cornerBottomFram.Visible = false;
+                this.AdjustRealHeight(16);
+
+            };
+            //鎺у埗鐐瑰嚮浜嬩欢
+            clickRightLayout.MouseDownEventHandler += (sen, e) =>
+            {
+                leftBtnTitle.IsSelected = false;
+                leftBtnLine.IsSelected = false;
+                leftBtnLine.Visible = false;
+                rightBtnTitle.IsSelected = true;
+                rightBtnLine.IsSelected = true;
+                rightBtnLine.Visible = true;
+                numberFrame.Visible = false;
+                cornerBottomFram.Visible = true;
+                this.AdjustRealHeight(-60);
+
+            };
 
             this.AdjustRealHeight(16);
         }
+
+
+        /// <summary>
+        /// 鎸夐敭鎺у埗
+        /// </summary>
+        /// <param name="keypad"><鎸夐敭鏍囪瘑/param>
+        /// <param name="keyName"><鎸夐敭鍚嶇О(鎵撳嵃鐢ㄧ殑)/param>
+        /// <param name="isSupport"><鏄惁鏀寔鎺у埗/param>
+        private void KeyControl(string keypad, string keyName,bool isSupport)
+        {
+            //CommonMethod.Current.Loading.Start();
+            CommonMethod.Current.SunThread(() =>
+            {
+                try
+                {
+                    SendMethod.Current.KeypadExecute(remoteControl.deviceId, remoteControl.rcId, keypad, keyName, isSupport);
+                }
+                catch { }
+                finally
+                {
+                    CommonMethod.Current.MainThread(() =>
+                    {
+                        //CommonMethod.Current.Loading.Hide();
+                    });
+                }
+            });
+
+        }
     }
 }

--
Gitblit v1.8.0