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