mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/Aks/TvPage.cs
@@ -49,6 +49,8 @@
        /// </summary>
        TypeMultiFramLayout typeMultiFramLayout;
        TypeSingleFramLayout tvSingleFramLayout;
        public void Show()
        {
@@ -73,58 +75,71 @@
            //功能键控制
            cornerTopFram.selectKeyAction += (keypadEntity) =>
            {
                KeyControl(keypadEntity.keypad, keypadEntity.name);
                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            };
            //数字键控制
            numberFrame.selectKeyAction += (keypadEntity) =>
            {
                KeyControl(keypadEntity.keypad, keypadEntity.name);
                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            };
            //菜单上按键
            menuFram.SetTopClickListener((keypadEntity) =>
            {
                KeyControl(keypadEntity.keypad, keypadEntity.name);
                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            //菜单下按键
            menuFram.SetBottomClickListener((keypadEntity) =>
            {
                KeyControl(keypadEntity.keypad, keypadEntity.name);
                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            //菜单左按键
            menuFram.SetLeftClickListener((keypadEntity) =>
            {
                KeyControl(keypadEntity.keypad, keypadEntity.name);
                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            //菜单右按键
            menuFram.SetRightClickListener((keypadEntity) =>
            {
                KeyControl(keypadEntity.keypad, keypadEntity.name);
                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            //菜单ok按键
            menuFram.SetOkClickListener((keypadEntity) =>
            {
                KeyControl(keypadEntity.keypad, keypadEntity.name);
                KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            //时序器
            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) =>
            if (tvSingleFramLayout != null)
            {
                action?.Invoke(IntType.TV);
            });
                //设备切换
                tvSingleFramLayout.SetClickListener((f) =>
                {
                    action?.Invoke(IntType.TV);
                });
            }
            if (typeMultiFramLayout != null)
            {
                //时序器
                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);
                });
            }
        }
@@ -181,6 +196,7 @@
                TextSize = TextSize.Text16,
                TextID = StringId.pindao,
                Padding = new Padding(0, 0, 0, 0),
                IsBold = true,
            };
            leftLayout.AddChidren(leftBtnTitle);
@@ -224,6 +240,7 @@
                TextSize = TextSize.Text16,
                TextID = StringId.kongzhi,
                Padding = new Padding(0, 0, 0, 0),
                IsBold = true,
            };
            rightLayout.AddChidren(rightBtnTitle);
@@ -250,11 +267,11 @@
            #endregion
            //数字按键容器
            numberFrame = new CornerFramLayout(343, 368, 17);
            numberFrame = new CornerFramLayout(343, 368-24, 17);
            numberFrame.X = Application.GetRealWidth(16);
            numberFrame.Y = middLayout.Bottom + Application.GetRealHeight(16);
            numberFrame.Y = middLayout.Bottom;
            numberFrame.BackgroundColor = MusicColor.WhiteColor;
            numberFrame.SetMargin(16,0,16,0);
            numberFrame.LoadNumberButtonPage(AksCommonMethod.Current.GetNumberKeypadList(this.remoteControl));
@@ -264,7 +281,7 @@
            //菜单容器
            CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 292-30, 17);
            cornerBottomFram.X = Application.GetRealWidth(16);
            cornerBottomFram.Y = middLayout.Bottom + Application.GetRealHeight(16);
            cornerBottomFram.Y = middLayout.Bottom;
            cornerBottomFram.BackgroundColor = MusicColor.WhiteColor;
            this.AddChidren(cornerBottomFram);
@@ -272,10 +289,39 @@
            menuFram.Y = Application.GetRealHeight(24);
            menuFram.AddView(cornerBottomFram);
            typeMultiFramLayout = new TypeMultiFramLayout();
            typeMultiFramLayout.multiFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32);
            typeMultiFramLayout.AddView(cornerBottomFram);
            typeMultiFramLayout.btnBottonRightName.Text = this.remoteControl.name;
            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;
@@ -325,14 +371,15 @@
        /// </summary>
        /// <param name="keypad"><按键标识/param>
        /// <param name="keyName"><按键名称(打印用的)/param>
        private void KeyControl(string keypad, string keyName)
        /// <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);
                    SendMethod.Current.KeypadExecute(remoteControl.deviceId, remoteControl.rcId, keypad, keyName, isSupport);
                }
                catch { }
                finally