mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/Aks/MusicPage.cs
@@ -3,6 +3,7 @@
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
@@ -32,7 +33,11 @@
        private RemoteControlEntity remoteControl;
        public Action<IntType> action;
        CornerFramLayout cornerFram;
        TypeSingleFramLayout typeSingleFramLayout;
        /// <summary>
        /// 影库
        /// </summary>
        TypeSingleFramLayout ykSingleFramLayout;
        TypeSingleFramLayout bfqSingleFramLayout;
        MenuFramLayout menuFram;
        TypeMultiFramLayout typeMultiFramLayout;
@@ -54,55 +59,73 @@
        private void EventListener()
        {
            cornerFram.selectAction += (value) =>
            cornerFram.selectKeyAction += (keypadEntity) =>
            {
                Console.WriteLine("1");
                if (keypadEntity == null)
                {
                    return;
                }
                this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            };
            typeSingleFramLayout.SetClickListener((f) =>
            menuFram.SetTopClickListener((keypadEntity) =>
            {
                YkPage ykPage = new YkPage(this.remoteControl);
                MainPage.BasePageView.AddChidren(ykPage);
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                ykPage.Show();
                this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            menuFram.SetTopClickListener((b) =>
            menuFram.SetBottomClickListener((keypadEntity) =>
            {
                Console.WriteLine("5");
                this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            menuFram.SetBottomClickListener((b) =>
            menuFram.SetLeftClickListener((keypadEntity) =>
            {
                Console.WriteLine("6");
                this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            menuFram.SetLeftClickListener((b) =>
            menuFram.SetRightClickListener((keypadEntity) =>
            {
                Console.WriteLine("7");
            });
            menuFram.SetRightClickListener((b) =>
            {
                Console.WriteLine("8");
            });
            menuFram.SetOkClickListener((b) =>
            {
                Console.WriteLine("9");
            });
            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();
                this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            typeMultiFramLayout.SetRightFlClickListener((f) =>
            menuFram.SetOkClickListener((keypadEntity) =>
            {
                Console.WriteLine("4");
                action?.Invoke(IntType.Player);
                this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
            });
            if (bfqSingleFramLayout != null)
            {
                bfqSingleFramLayout.SetClickListener((f) =>
                {
                    action?.Invoke(IntType.Player);
                });
            }
            if (ykSingleFramLayout != null)
            {
                ykSingleFramLayout.SetClickListener((f) =>
                {
                    YkPage ykPage = new YkPage(this.remoteControl);
                    MainPage.BasePageView.AddChidren(ykPage);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    ykPage.Show();
                });
            }
            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.Player);
                });
            }
        }
@@ -120,42 +143,121 @@
                TextSize = TextSize.Text16,
                //TextID = StringId.bofangqi,
                Text = this.remoteControl.name,
                Padding = new Padding(0, 0, 0, 0),
                IsBold = true,
            };
            this.AddChidren(btnTitle);
            cornerFram = new CornerFramLayout(343, 452, 17);
            cornerFram = new CornerFramLayout(343, 452 - 30, 17);
            this.AddChidren(cornerFram);
            cornerFram.X = Application.GetRealWidth(16);
            cornerFram.Y = btnTitle.Bottom + Application.GetRealHeight(16);
            this.AddChidren(cornerFram);
            cornerFram.SetMargin(16, 0, 16, 0);
            cornerFram.LoadButtonPage(AksCommonMethod.Current.GetMusicKeypadList(), 4);
            cornerFram.LoadButtonPage(AksCommonMethod.Current.GetMusicKeypadList(this.remoteControl), 4);
            CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 364, 17);
            cornerBottomFram.X = Application.GetRealWidth(16);
            cornerBottomFram.Y = cornerFram.Bottom + Application.GetRealHeight(16);
            cornerBottomFram.BackgroundColor = MusicColor.WhiteColor;
            cornerBottomFram.Radius = (uint)Application.GetRealHeight(17);
            this.AddChidren(cornerBottomFram);
            if (sequencerList.Count == 0)
            {
                //没有时序器
                CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 364 - 32-32-40, 17);
                this.AddChidren(cornerBottomFram);
                cornerBottomFram.X = Application.GetRealWidth(16);
                cornerBottomFram.Y = cornerFram.Bottom + Application.GetRealHeight(16);
                cornerBottomFram.BackgroundColor = MusicColor.WhiteColor;
                cornerBottomFram.Radius = (uint)Application.GetRealHeight(17);
            typeSingleFramLayout = new TypeSingleFramLayout();
            typeSingleFramLayout.singleFramLayout.Y = Application.GetRealHeight(24);
            typeSingleFramLayout.AddView(cornerBottomFram);
                //播放器
                bfqSingleFramLayout = new TypeSingleFramLayout();
                bfqSingleFramLayout.AddView(cornerBottomFram);
                bfqSingleFramLayout.singleFramLayout.Y = Application.GetRealHeight(24);
                bfqSingleFramLayout.singleFramLayout.X = Application.GetRealWidth(16);
                bfqSingleFramLayout.singleFramLayout.Width = Application.GetRealWidth(101);
                bfqSingleFramLayout.btnName.Text = this.remoteControl.name;
                bfqSingleFramLayout.btnName.X= Application.GetRealWidth(16);
                bfqSingleFramLayout.btnName.Width = Application.GetRealWidth(48);
                bfqSingleFramLayout.btnRightImage.X = bfqSingleFramLayout.btnName.Right + Application.GetRealWidth(8);
                bfqSingleFramLayout.btnRightImage.Width = Application.GetRealWidth(16);
                bfqSingleFramLayout.btnRightImage.Height = Application.GetRealWidth(16);
                bfqSingleFramLayout.btnRightImage.UnSelectedImagePath = "AksIcon/xuanze.png";
                bfqSingleFramLayout.btnRightImage.Gravity = Gravity.CenterVertical;
                bfqSingleFramLayout.btnLeftImage.Visible = false;
                bfqSingleFramLayout.CustomCalculationWidth(TypeSingleFramLayout.Orientation.left,
                    bfqSingleFramLayout.singleFramLayout,
                    bfqSingleFramLayout.btnName,
                     bfqSingleFramLayout.btnRightImage,
                     48);
            menuFram = new MenuFramLayout();
            menuFram.Y = typeSingleFramLayout.singleFramLayout.Bottom + Application.GetRealHeight(32);
            menuFram.AddView(cornerBottomFram);
                //影库
                ykSingleFramLayout = new TypeSingleFramLayout();
                ykSingleFramLayout.AddView(cornerBottomFram);
                ykSingleFramLayout.singleFramLayout.Y = Application.GetRealHeight(24);
                ykSingleFramLayout.singleFramLayout.X = Application.GetRealWidth(226);
            typeMultiFramLayout = new TypeMultiFramLayout();
            typeMultiFramLayout.multiFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32);
            typeMultiFramLayout.AddView(cornerBottomFram);
            //typeMultiFramLayout.btnBottonRightName.TextID = StringId.bofangqi;
            typeMultiFramLayout.btnBottonRightName.Text = this.remoteControl.name;
                menuFram = new MenuFramLayout();
                menuFram.AddView(cornerBottomFram);
                menuFram.Y = ykSingleFramLayout.singleFramLayout.Bottom + Application.GetRealHeight(32);
                this.AdjustRealHeight(16);
            this.AdjustRealHeight(16);
            }
            else
            {
                //有时序器
                CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 364 - 32, 17);
                this.AddChidren(cornerBottomFram);
                cornerBottomFram.X = Application.GetRealWidth(16);
                cornerBottomFram.Y = cornerFram.Bottom + Application.GetRealHeight(16);
                cornerBottomFram.BackgroundColor = MusicColor.WhiteColor;
                cornerBottomFram.Radius = (uint)Application.GetRealHeight(17);
                ykSingleFramLayout = new TypeSingleFramLayout();
                ykSingleFramLayout.AddView(cornerBottomFram);
                ykSingleFramLayout.singleFramLayout.Y = Application.GetRealHeight(24);
                ykSingleFramLayout.singleFramLayout.Gravity = Gravity.CenterHorizontal;
                menuFram = new MenuFramLayout();
                menuFram.AddView(cornerBottomFram);
                menuFram.Y = ykSingleFramLayout.singleFramLayout.Bottom + Application.GetRealHeight(32);
                typeMultiFramLayout = new TypeMultiFramLayout();
                typeMultiFramLayout.AddView(cornerBottomFram);
                typeMultiFramLayout.multiFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32);
                //typeMultiFramLayout.btnBottonRightName.TextID = StringId.bofangqi;
                typeMultiFramLayout.btnRightName.Text = this.remoteControl.name;
                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();
                    });
                }
            });
        }
    }
}