mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/Aks/YkqPage.cs
@@ -2,35 +2,87 @@
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
{
    /// <summary>
    ///遥控器界面
    ///虚拟遥控器界面
    /// </summary>
    public class YkqPage : BaseFramLayout
    {
        public YkqPage()
        /// <summary>
        ///
        /// </summary>
        /// <param name="remoteControlEntity">遥控器对象</param>
        /// <param name="sequencerList">时序器列表</param>
        public YkqPage(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 tyySingleFramLayout;
        Button switchBtn;
        CustomFrameLayout xinxiFL;
        CustomFrameLayout shoucangFL;
        CustomFrameLayout dianyingFL;
        CustomFrameLayout yuleFL;
        CustomFrameLayout dianshiFL;
        CustomFrameLayout redFL;
        CustomFrameLayout yellowFL;
        CustomFrameLayout blueFL;
        CustomFrameLayout number1FL;
        CustomFrameLayout number2FL;
        CustomFrameLayout number3FL;
        CustomFrameLayout number4FL;
        CustomFrameLayout number5FL;
        CustomFrameLayout number6FL;
        CustomFrameLayout number7FL;
        CustomFrameLayout number8FL;
        CustomFrameLayout number9FL;
        CustomFrameLayout yinguiFL;
        CustomFrameLayout number0FL;
        CustomFrameLayout zimuFL;
        CustomFrameLayout jingyinFL;
        CustomFrameLayout toupingFL;
        CustomFrameLayout zhuyeFL;
        FrameLayout okFl;
        Button btnLeft;
        Button btnShang;
        Button btnRight;
        Button btnXia;
        Button btnOk;
        Button btnYingliangjia;
        Button btnYingliangjian;
        Button btnPindaojia;
        Button btnPindaojian;
        CustomFrameLayout caidanFL;
        CustomFrameLayout fanhuiFL;
        CustomFrameLayout shanyibuFL;
        CustomFrameLayout bofangFL;
        CustomFrameLayout xiayibuFL;
        CustomFrameLayout kuaituiFL;
        CustomFrameLayout zantingFL;
        CustomFrameLayout kusinjinFL;
        CustomFrameLayout dengguanFL;
        CustomFrameLayout tingzhiFL;
        CustomFrameLayout dankongdengFL;
        public void Show()
@@ -53,60 +105,295 @@
        /// </summary>
        private void EventListener()
        {
            //功能键控制
            cornerTopFram.selectAction += (value) =>
            //开关
            switchBtn.MouseUpEventHandler += (senser, e) =>
            {
                Console.WriteLine("1");
                KeyControl("on_off", "开/关");
                this.SetButtonIsSelected(switchBtn);
            };
            //数字键控制
            numberFrame.selectAction += (s) =>
            //信息
            xinxiFL.SetClickListener(() =>
            {
                Console.WriteLine("打印====" + s);
            };
            //菜单上按键
            menuFram.SetTopClickListener((b) =>
            {
                Console.WriteLine("5");
                KeyControl("info", "信息");
            });
            //菜单下按键
            menuFram.SetBottomClickListener((b) =>
            //收藏
            shoucangFL.SetClickListener(() =>
            {
                Console.WriteLine("6");
                KeyControl("collect", "收藏");
            });
            //菜单左按键
            menuFram.SetLeftClickListener((b) =>
            //电影
            dianyingFL.SetClickListener(() =>
            {
                Console.WriteLine("7");
                KeyControl("movie", "电影");
            });
            //菜单右按键
            menuFram.SetRightClickListener((b) =>
            //娱乐
            yuleFL.SetClickListener(() =>
            {
                Console.WriteLine("8");
                KeyControl("recreation", "娱乐");
            });
            //菜单ok按键
            menuFram.SetOkClickListener((b) =>
            //电视
            dianshiFL.SetClickListener(() =>
            {
                Console.WriteLine("9");
                KeyControl("tv", "电视");
            });
            //时序器
            typeMultiFramLayout.SetLeftFlClickListener((f) =>
            //红色
            redFL.SetClickListener(() =>
            {
                SxqPage sxqPage = new SxqPage();
                MainPage.BasePageView.AddChidren(sxqPage);
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                sxqPage.Show();
                KeyControl("red", "红色");
            });
            //黄色
            yellowFL.SetClickListener(() =>
            {
                KeyControl("yellow", "黄色");
            });
            //蓝色
            blueFL.SetClickListener(() =>
            {
                KeyControl("blue", "蓝色");
            });
            //1
            number1FL.SetClickListener(() =>
            {
                KeyControl("number_1", "1");
            });
            //2
            number2FL.SetClickListener(() =>
            {
                KeyControl("number_2", "2");
            });
            //3
            number3FL.SetClickListener(() =>
            {
                KeyControl("number_3", "3");
            });
            //设备切换
            typeMultiFramLayout.SetRightFlClickListener((f) =>
            //4
            number4FL.SetClickListener(() =>
            {
                Console.WriteLine("4");
                action?.Invoke(IntType.TV);
                KeyControl("number_4", "4");
            });
            //5
            number5FL.SetClickListener(() =>
            {
                KeyControl("number_5", "5");
            });
            //6
            number6FL.SetClickListener(() =>
            {
                KeyControl("number_6", "6");
            });
            //7
            number7FL.SetClickListener(() =>
            {
                KeyControl("number_7", "7");
            });
            //8
            number8FL.SetClickListener(() =>
            {
                KeyControl("number_8", "8");
            });
            //9
            number9FL.SetClickListener(() =>
            {
                KeyControl("number_9", "9");
            });
            //音轨
            yinguiFL.SetClickListener(() =>
            {
                KeyControl("audio_track", "音轨");
            });
            //0
            number0FL.SetClickListener(() =>
            {
                KeyControl("number_0", "0");
            });
            //字幕
            zimuFL.SetClickListener(() =>
            {
                KeyControl("subtitle", "字幕");
            });
            //静音
            jingyinFL.SetClickListener(() =>
            {
                KeyControl("mute", "静音");
            });
            //投屏
            toupingFL.SetClickListener(() =>
            {
                KeyControl("main", "投屏");
            });
            //主页
            zhuyeFL.SetClickListener(() =>
            {
                KeyControl("home", "主页");
            });
            //左
            btnLeft.MouseUpEventHandler += (sender, e) =>
            {
                KeyControl("key_left", "左");
                this.SetHighlightImagePath(okFl, "AksIcon/ykq_left_selected.png", "AksIcon/ykq_ok.png");
            };
            //上
            btnShang.MouseUpEventHandler += (sender, e) =>
            {
                KeyControl("key_up", "上");
                this.SetHighlightImagePath(okFl, "AksIcon/ykq_shang_selected.png", "AksIcon/ykq_ok.png");
            };
            //右
            btnRight.MouseDownEventHandler += (sender, e) =>
            {
                KeyControl("key_right", "右");
                this.SetHighlightImagePath(okFl, "AksIcon/ykq_right_selected.png", "AksIcon/ykq_ok.png");
            };
            //下
            btnXia.MouseUpEventHandler += (sender, e) =>
            {
                KeyControl("key_down", "下");
                this.SetHighlightImagePath(okFl, "AksIcon/ykq_xia_selected.png", "AksIcon/ykq_ok.png");
            };
            //OK
            btnOk.MouseDownEventHandler += (sender, e) =>
            {
                KeyControl("key_ok", "确定");
                this.SetHighlightImagePath(okFl, "AksIcon/ykq_ok_selected.png", "AksIcon/ykq_ok.png");
            };
            //音量+
            btnYingliangjia.MouseUpEventHandler += (sen, e) =>
            {
                KeyControl("volume_up", "音量+");
                this.SetButtonIsSelected(btnYingliangjia);
            };
            //音量-
            btnYingliangjian.MouseUpEventHandler += (sen, e) =>
            {
                KeyControl("volume_down", "音量-");
                this.SetButtonIsSelected(btnYingliangjian);
            };
            //频道+
            btnPindaojia.MouseUpEventHandler += (sen, e) =>
            {
                KeyControl("ch_up", "频道+");
                this.SetButtonIsSelected(btnPindaojia);
            };
            //频道-
            btnPindaojian.MouseUpEventHandler += (sen, e) =>
            {
                KeyControl("ch_down", "频道-");
                this.SetButtonIsSelected(btnPindaojian);
            };
            //菜单
            caidanFL.SetClickListener(() =>
            {
                KeyControl("menu", "菜单");
            });
            //返回
            fanhuiFL.SetClickListener(() =>
            {
                KeyControl("cancel", "返回");
            });
            //上一部
            shanyibuFL.SetClickListener(() =>
            {
                KeyControl("part_up", "上一部");
            });
            //播放
            bofangFL.SetClickListener(() =>
            {
                KeyControl("play", "播放");
            });
            //下一部
            xiayibuFL.SetClickListener(() =>
            {
                KeyControl("part_down", "下一部");
            });
            //快退
            kuaituiFL.SetClickListener(() =>
            {
                KeyControl("fast_rewind", "快退");
            });
            //暂停
            zantingFL.SetClickListener(() =>
            {
                KeyControl("pause", "暂停");
            });
            //快进
            kusinjinFL.SetClickListener(() =>
            {
                KeyControl("fast_forward", "快进");
            });
            //灯关
            dengguanFL.SetClickListener(() =>
            {
                KeyControl("lamp", "灯关");
            });
            //停止
            tingzhiFL.SetClickListener(() =>
            {
                KeyControl("stop", "停止");
            });
            //单控灯
            dankongdengFL.SetClickListener(() =>
            {
                KeyControl("lamp_plc", "单控灯");
            });
            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.Control);
                });
            }
            if (tyySingleFramLayout != null)
            {
                tyySingleFramLayout.SetClickListener((f) =>
                {
                    action?.Invoke(IntType.Control);
                });
            }
        }
        /// <summary>
        /// 初始化界面
        /// </summary>
        private void InitUI()
        {
            this.BackgroundColor = MusicColor.ViewColor;
@@ -119,194 +406,863 @@
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = MusicColor.TextColor,
                TextSize = TextSize.Text16,
                TextID = StringId.xuniyaokongqi,
                Text = this.remoteControl.name,
                IsBold = true,
            };
            this.AddChidren(btnTitle);
            FrameLayout layout = new FrameLayout {
            FrameLayout bottomLayout = new FrameLayout
            {
                Y = btnTitle.Bottom + Application.GetRealHeight(16),
                X=Application.GetRealWidth(71),
                Width=Application.GetRealWidth(232),
                Radius=(uint)Application.GetRealHeight(17),
                BackgroundColor= 0xff19181E,
                Width = Application.GetRealWidth(240),
                Height = Application.GetRealHeight(1095 - 122 - 60),//遥控器固定高度
                Radius = (uint)Application.GetRealHeight(17),
                BackgroundColor = 0xff798394,
                Gravity = Gravity.CenterHorizontal,
            };
            this.AddChidren(bottomLayout);
            FrameLayout layout = new FrameLayout
            {
                Y = btnTitle.Bottom + Application.GetRealHeight(16),
                //X = Application.GetRealWidth(71),
                Width = Application.GetRealWidth(232),
                Height = Application.GetRealHeight(1095 - 122 - 60),//遥控器固定高度
                Radius = (uint)Application.GetRealHeight(17),
                BackgroundColor = 0xff19181E,
                Gravity = Gravity.CenterHorizontal,
            };
            this.AddChidren(layout);
            cornerTopFram = new CornerFramLayout(343, 452, 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 });
            #region  ----频道 控制----
            FrameLayout middLayout = new FrameLayout
            FrameLayout switchFl = new FrameLayout()
            {
                Y = cornerTopFram.Bottom,
                Height = Application.GetRealHeight(61),
                Y = Application.GetRealHeight(32),
                Height = Application.GetRealWidth(48),
                Width = Application.GetRealWidth(48),
                Gravity = Gravity.CenterHorizontal,
                BackgroundColor = 0xff201F25,
                Radius = (uint)Application.GetRealWidth(24),
            };
            this.AddChidren(middLayout);
            layout.AddChidren(switchFl);
            FrameLayout leftLayout = new FrameLayout
            switchBtn = new Button
            {
                X = Application.GetRealWidth(105),
                Height = Application.GetRealWidth(48),
                Width = Application.GetRealWidth(48),
                Gravity = Gravity.Center,
                UnSelectedImagePath = "AksIcon/ykq_kai.png",
                SelectedImagePath = "AksIcon/ykq_kaiguang_selected.png"
            };
            switchFl.AddChidren(switchBtn);
            switchBtn.MouseDownEventHandler += (senser, e) =>
            {
                switchBtn.IsSelected = true;
            };
            switchBtn.MouseUpOutsideEventHandler += (senser, e) =>
            {
                switchBtn.IsSelected = false;
            };
            int h = 49 - 6;
            int offset = 28;//x轴偏移量
            int septal = 36;//间隔
            #region
            var line1Fl = new FrameLayout
            {
                Y = switchFl.Bottom + Application.GetRealHeight(12),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line1Fl);
            xinxiFL = new CustomFrameLayout();
            line1Fl.AddChidren(xinxiFL);
            xinxiFL.X = Application.GetRealWidth(offset);
            xinxiFL.AddImageView();
            xinxiFL.AddTextButtonView();
            xinxiFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_xinxi.png";
            xinxiFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_xinxi_selected.png";
            xinxiFL.GetTextButton().Text = "信息";
            xinxiFL.AddClickView();
            shoucangFL = new CustomFrameLayout();
            line1Fl.AddChidren(shoucangFL);
            shoucangFL.X = xinxiFL.Right + Application.GetRealWidth(110);
            shoucangFL.AddImageView();
            shoucangFL.AddTextButtonView();
            shoucangFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_shoucang.png";
            shoucangFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_shoucang_selected.png";
            shoucangFL.GetTextButton().Text = "收藏";
            shoucangFL.AddClickView();
            var line2Fl = new FrameLayout
            {
                Y = line1Fl.Bottom + Application.GetRealHeight(8),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line2Fl);
            dianyingFL = new CustomFrameLayout();
            line2Fl.AddChidren(dianyingFL);
            dianyingFL.X = Application.GetRealWidth(offset);
            dianyingFL.AddImageView();
            dianyingFL.AddTextButtonView();
            dianyingFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_dianying.png";
            dianyingFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_dianying_selected.png";
            dianyingFL.GetTextButton().Text = "电影";
            dianyingFL.AddClickView();
            yuleFL = new CustomFrameLayout();
            line2Fl.AddChidren(yuleFL);
            yuleFL.X = dianyingFL.Right + Application.GetRealWidth(septal);
            yuleFL.AddImageView();
            yuleFL.AddTextButtonView();
            yuleFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_yule.png";
            yuleFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_yule_selected.png";
            yuleFL.GetTextButton().Text = "娱乐";
            yuleFL.AddClickView();
            dianshiFL = new CustomFrameLayout();
            line2Fl.AddChidren(dianshiFL);
            dianshiFL.X = yuleFL.Right + Application.GetRealWidth(septal);
            dianshiFL.AddImageView();
            dianshiFL.AddTextButtonView();
            dianshiFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_dianshi.png";
            dianshiFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_dianshi_selected.png";
            dianshiFL.GetTextButton().Text = "电视";
            dianshiFL.AddClickView();
            var line3Fl = new FrameLayout
            {
                Y = line2Fl.Bottom + Application.GetRealHeight(8),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line3Fl);
            redFL = new CustomFrameLayout();
            line3Fl.AddChidren(redFL);
            redFL.X = Application.GetRealWidth(offset);
            redFL.AddColorButtonView();
            redFL.GetColorButto().BackgroundColor = MusicColor.RedColor;
            redFL.AddClickView();
            yellowFL = new CustomFrameLayout();
            line3Fl.AddChidren(yellowFL);
            yellowFL.X = redFL.Right + Application.GetRealWidth(septal);
            yellowFL.AddColorButtonView();
            yellowFL.GetColorButto().BackgroundColor = 0xffFC9C04;
            yellowFL.AddClickView();
            blueFL = new CustomFrameLayout();
            line3Fl.AddChidren(blueFL);
            blueFL.X = yellowFL.Right + Application.GetRealWidth(septal);
            blueFL.AddColorButtonView();
            blueFL.GetColorButto().BackgroundColor = MusicColor.MusicTxet14SelectedColor;
            blueFL.AddClickView();
            var line4Fl = new FrameLayout
            {
                Y = line3Fl.Bottom + Application.GetRealHeight(8),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line4Fl);
            number1FL = new CustomFrameLayout();
            line4Fl.AddChidren(number1FL);
            number1FL.X = Application.GetRealWidth(offset);
            number1FL.AddNumberButtonView();
            number1FL.GetNumberButto().Text = "1";
            number1FL.AddClickView();
            number2FL = new CustomFrameLayout();
            line4Fl.AddChidren(number2FL);
            number2FL.X = number1FL.Right + Application.GetRealWidth(septal);
            number2FL.AddNumberButtonView();
            number2FL.GetNumberButto().Text = "2";
            number2FL.AddClickView();
            number3FL = new CustomFrameLayout();
            line4Fl.AddChidren(number3FL);
            number3FL.X = number2FL.Right + Application.GetRealWidth(septal);
            number3FL.AddNumberButtonView();
            number3FL.GetNumberButto().Text = "3";
            number3FL.AddClickView();
            var line5Fl = new FrameLayout
            {
                Y = line4Fl.Bottom,
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line5Fl);
            number4FL = new CustomFrameLayout();
            line5Fl.AddChidren(number4FL);
            number4FL.X = Application.GetRealWidth(offset);
            number4FL.AddNumberButtonView();
            number4FL.GetNumberButto().Text = "4";
            number4FL.AddClickView();
            number5FL = new CustomFrameLayout();
            line5Fl.AddChidren(number5FL);
            number5FL.X = number4FL.Right + Application.GetRealWidth(septal);
            number5FL.AddNumberButtonView();
            number5FL.GetNumberButto().Text = "5";
            number5FL.AddClickView();
            number6FL = new CustomFrameLayout();
            line5Fl.AddChidren(number6FL);
            number6FL.X = number5FL.Right + Application.GetRealWidth(septal);
            number6FL.AddNumberButtonView();
            number6FL.GetNumberButto().Text = "6";
            number6FL.AddClickView();
            var line6Fl = new FrameLayout
            {
                Y = line5Fl.Bottom,
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line6Fl);
            number7FL = new CustomFrameLayout();
            line6Fl.AddChidren(number7FL);
            number7FL.X = Application.GetRealWidth(offset);
            number7FL.AddNumberButtonView();
            number7FL.GetNumberButto().Text = "7";
            number7FL.AddClickView();
            number8FL = new CustomFrameLayout();
            line6Fl.AddChidren(number8FL);
            number8FL.X = number7FL.Right + Application.GetRealWidth(septal);
            number8FL.AddNumberButtonView();
            number8FL.GetNumberButto().Text = "8";
            number8FL.AddClickView();
            number9FL = new CustomFrameLayout();
            line6Fl.AddChidren(number9FL);
            number9FL.X = number8FL.Right + Application.GetRealWidth(septal);
            number9FL.AddNumberButtonView();
            number9FL.GetNumberButto().Text = "9";
            number9FL.AddClickView();
            var line7Fl = new FrameLayout
            {
                Y = line6Fl.Bottom,
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line7Fl);
            yinguiFL = new CustomFrameLayout();
            line7Fl.AddChidren(yinguiFL);
            yinguiFL.X = Application.GetRealWidth(offset);
            yinguiFL.AddImageView();
            yinguiFL.AddTextButtonView();
            yinguiFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_yingui.png";
            yinguiFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_yingui_selected.png";
            yinguiFL.GetTextButton().Text = "音轨";
            yinguiFL.AddClickView();
            number0FL = new CustomFrameLayout();
            line7Fl.AddChidren(number0FL);
            number0FL.X = yinguiFL.Right + Application.GetRealWidth(septal);
            number0FL.AddNumberButtonView();
            number0FL.GetNumberButto().Text = "0";
            number0FL.AddClickView();
            zimuFL = new CustomFrameLayout();
            line7Fl.AddChidren(zimuFL);
            zimuFL.X = number0FL.Right + Application.GetRealWidth(septal);
            zimuFL.AddImageView();
            zimuFL.AddTextButtonView();
            zimuFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_zimu.png";
            zimuFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_zimu_selected.png";
            zimuFL.GetTextButton().Text = "字幕";
            zimuFL.AddClickView();
            zimuFL.AddClickView();
            var line8Fl = new FrameLayout
            {
                Y = line7Fl.Bottom + Application.GetRealHeight(16),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line8Fl);
            jingyinFL = new CustomFrameLayout();
            line8Fl.AddChidren(jingyinFL);
            jingyinFL.X = Application.GetRealWidth(offset);
            jingyinFL.AddImageView();
            jingyinFL.AddTextButtonView();
            jingyinFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_jingyin.png";
            jingyinFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_jingyin_selected.png";
            jingyinFL.GetTextButton().Text = "静音";
            jingyinFL.AddClickView();
            toupingFL = new CustomFrameLayout();
            line8Fl.AddChidren(toupingFL);
            toupingFL.X = jingyinFL.Right + Application.GetRealWidth(septal);
            toupingFL.AddImageView();
            toupingFL.AddTextButtonView();
            toupingFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_toupin.png";
            toupingFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_touping_selected.png";
            toupingFL.GetTextButton().Text = "投屏";
            toupingFL.AddClickView();
            zhuyeFL = new CustomFrameLayout();
            line8Fl.AddChidren(zhuyeFL);
            zhuyeFL.X = toupingFL.Right + Application.GetRealWidth(septal);
            zhuyeFL.AddImageView();
            zhuyeFL.AddTextButtonView();
            zhuyeFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_zhuye.png";
            zhuyeFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_zhuye_selected.png";
            zhuyeFL.GetTextButton().Text = "主页";
            zhuyeFL.AddClickView();
            #region   菜单布局
            var baseFl = new BaseFramLayout
            {
                Y = line8Fl.Bottom,
                Height = Application.GetRealHeight(207 - 32 - 12),
            };
            layout.AddChidren(baseFl);
            btnYingliangjia = new Button
            {
                Y = Application.GetRealHeight(16),
                Height = Application.GetRealHeight(29),
                Width = Application.GetRealWidth(32),
                X = Application.GetRealWidth(26),
                Width = Application.GetRealWidth(36),
                Height = Application.GetRealWidth(36),
                UnSelectedImagePath = "AksIcon/ykq_yingliangjia.png",
                SelectedImagePath = "AksIcon/ykq_yingliangjia_selected.png",
            };
            middLayout.AddChidren(leftLayout);
            baseFl.AddChidren(btnYingliangjia);
            Button leftBtnTitle = new Button
            btnYingliangjian = new Button
            {
                Height = Application.GetRealHeight(22),
                Width = leftLayout.Width,
                TextAlignment = TextAlignment.Center,
                TextColor = MusicColor.TextColor,
                SelectedTextColor = MusicColor.MusicTxet14SelectedColor,
                TextSize = TextSize.Text16,
                TextID = StringId.pindao,
                Y = btnYingliangjia.Bottom + Application.GetRealHeight(71),
                X = Application.GetRealWidth(26),
                Width = Application.GetRealWidth(36),
                Height = Application.GetRealWidth(36),
                UnSelectedImagePath = "AksIcon/ykq_yingliangjian.png",
                SelectedImagePath = "AksIcon/ykq_yingliangjian_selected.png",
            };
            leftLayout.AddChidren(leftBtnTitle);
            baseFl.AddChidren(btnYingliangjian);
            Button leftBtnLine = new Button
            btnPindaojia = new Button
            {
                Y = leftBtnTitle.Bottom + Application.GetRealHeight(4),
                Height = Application.GetRealHeight(2),
                Width = leftBtnTitle.GetTextWidth(),
                BackgroundColor = MusicColor.TextColor,
                SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor,
                Y = Application.GetRealHeight(16),
                X = Application.GetRealWidth(170),
                Width = Application.GetRealWidth(36),
                Height = Application.GetRealWidth(36),
                UnSelectedImagePath = "AksIcon/ykq_pindaojia.png",
                SelectedImagePath = "AksIcon/ykq_pindaojia_selected.png",
            };
            baseFl.AddChidren(btnPindaojia);
            btnPindaojian = new Button
            {
                Y = btnPindaojia.Bottom + Application.GetRealHeight(71),
                X = Application.GetRealWidth(170),
                Width = Application.GetRealWidth(36),
                Height = Application.GetRealWidth(36),
                UnSelectedImagePath = "AksIcon/ykq_pindaojian.png",
                SelectedImagePath = "AksIcon/ykq_pindaojian_selected.png",
            };
            baseFl.AddChidren(btnPindaojian);
            okFl = new FrameLayout
            {
                Y = Application.GetRealHeight(16),
                Height = Application.GetRealWidth(143),
                Width = Application.GetRealWidth(143),
                BackgroundImagePath = "AksIcon/ykq_ok.png",
                Gravity = Gravity.CenterHorizontal,
            };
            leftLayout.AddChidren(leftBtnLine);
            //频道点击控件
            FrameLayout clickLeftLayout = new FrameLayout
            baseFl.AddChidren(okFl);
            btnLeft = new Button
            {
                Height = leftLayout.Height,
                Width = leftLayout.Width,
                Width = Application.GetRealWidth(40),
                Height = Application.GetRealHeight(20),
                Gravity = Gravity.CenterVertical,
            };
            leftLayout.AddChidren(clickLeftLayout);
            okFl.AddChidren(btnLeft);
            FrameLayout rightLayout = new FrameLayout
            btnShang = new Button
            {
                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,
            };
            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,
                Width = Application.GetRealWidth(40),
                Height = Application.GetRealHeight(30),
                Gravity = Gravity.CenterHorizontal,
            };
            rightLayout.AddChidren(rightBtnLine);
            //电视点击控件
            FrameLayout clickRightLayout = new FrameLayout
            okFl.AddChidren(btnShang);
            btnRight = new Button
            {
                Height = leftLayout.Height,
                Width = leftLayout.Width,
                Width = Application.GetRealWidth(40),
                Height = Application.GetRealHeight(20),
                Gravity = Gravity.CenterRight,
            };
            rightLayout.AddChidren(clickRightLayout);
            okFl.AddChidren(btnRight);
            btnXia = new Button
            {
                Width = Application.GetRealWidth(40),
                Height = Application.GetRealHeight(30),
                Gravity = Gravity.BottomCenter,
            };
            okFl.AddChidren(btnXia);
            btnOk = new Button
            {
                Width = Application.GetRealWidth(52),
                Height = Application.GetRealWidth(52),
                Gravity = Gravity.Center,
            };
            okFl.AddChidren(btnOk);
            #endregion
            //数字按键容器
            numberFrame = new CornerFramLayout(343, 368, 17);
            numberFrame.X = Application.GetRealWidth(16);
            numberFrame.Y = middLayout.Bottom + Application.GetRealHeight(16);
            numberFrame.BackgroundColor = MusicColor.WhiteColor;
            numberFrame.SetMargin(16, 0, 16, 0);
            numberFrame.LoadNumberButtonPage();
            this.AddChidren(numberFrame);
            //菜单容器
            CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 292, 17);
            var line9Fl = new FrameLayout
            {
                Y = baseFl.Bottom,
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line9Fl);
            caidanFL = new CustomFrameLayout();
            line9Fl.AddChidren(caidanFL);
            caidanFL.X = Application.GetRealWidth(offset);
            caidanFL.AddImageView();
            caidanFL.AddTextButtonView();
            caidanFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_caidan.png";
            caidanFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_caidan_selected.png";
            caidanFL.GetTextButton().Text = "菜单";
            caidanFL.AddClickView();
            fanhuiFL = new CustomFrameLayout();
            line9Fl.AddChidren(fanhuiFL);
            fanhuiFL.X = caidanFL.Right + Application.GetRealWidth(110);
            fanhuiFL.AddImageView();
            fanhuiFL.AddTextButtonView();
            fanhuiFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_fanhui.png";
            fanhuiFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_fanhui_selected.png";
            fanhuiFL.GetTextButton().Text = "返回";
            fanhuiFL.AddClickView();
            var line10Fl = new FrameLayout
            {
                Y = line9Fl.Bottom + Application.GetRealHeight(8),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line10Fl);
            shanyibuFL = new CustomFrameLayout();
            line10Fl.AddChidren(shanyibuFL);
            shanyibuFL.X = Application.GetRealWidth(offset);
            shanyibuFL.AddImageView();
            shanyibuFL.AddTextButtonView();
            shanyibuFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_shangyibu.png";
            shanyibuFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_shangyibu_selected.png";
            shanyibuFL.GetTextButton().Text = "上一部";
            shanyibuFL.AddClickView();
            bofangFL = new CustomFrameLayout();
            line10Fl.AddChidren(bofangFL);
            bofangFL.X = shanyibuFL.Right + Application.GetRealWidth(septal);
            bofangFL.AddImageView();
            bofangFL.AddTextButtonView();
            bofangFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_bofan.png";
            bofangFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_bofan_selected.png";
            bofangFL.GetTextButton().Text = "播放";
            bofangFL.AddClickView();
            xiayibuFL = new CustomFrameLayout();
            line10Fl.AddChidren(xiayibuFL);
            xiayibuFL.X = bofangFL.Right + Application.GetRealWidth(septal);
            xiayibuFL.AddImageView();
            xiayibuFL.AddTextButtonView();
            xiayibuFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_xiayibu.png";
            xiayibuFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_xiayibu_selected.png";
            xiayibuFL.GetTextButton().Text = "下一部";
            xiayibuFL.AddClickView();
            var line11Fl = new FrameLayout
            {
                Y = line10Fl.Bottom + Application.GetRealHeight(8),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line11Fl);
            kuaituiFL = new CustomFrameLayout();
            line11Fl.AddChidren(kuaituiFL);
            kuaituiFL.X = Application.GetRealWidth(offset);
            kuaituiFL.AddImageView();
            kuaituiFL.AddTextButtonView();
            kuaituiFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_kuaitui.png";
            kuaituiFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_kuaijin_selected.png";
            kuaituiFL.GetTextButton().Text = "快退";
            kuaituiFL.AddClickView();
            zantingFL = new CustomFrameLayout();
            line11Fl.AddChidren(zantingFL);
            zantingFL.X = kuaituiFL.Right + Application.GetRealWidth(septal);
            zantingFL.AddImageView();
            zantingFL.AddTextButtonView();
            zantingFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_zanting.png";
            zantingFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_zanting_selected.png";
            zantingFL.GetTextButton().Text = "暂停";
            zantingFL.AddClickView();
            kusinjinFL = new CustomFrameLayout();
            line11Fl.AddChidren(kusinjinFL);
            kusinjinFL.X = zantingFL.Right + Application.GetRealWidth(septal);
            kusinjinFL.AddImageView();
            kusinjinFL.AddTextButtonView();
            kusinjinFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_kuaijin.png";
            kusinjinFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_kuaitui_selected.png";
            kusinjinFL.GetTextButton().Text = "快进";
            kusinjinFL.AddClickView();
            var line12Fl = new FrameLayout
            {
                Y = line11Fl.Bottom + Application.GetRealHeight(8),
                Height = Application.GetRealHeight(h),
            };
            layout.AddChidren(line12Fl);
            dengguanFL = new CustomFrameLayout();
            line12Fl.AddChidren(dengguanFL);
            dengguanFL.X = Application.GetRealWidth(offset);
            dengguanFL.AddImageView();
            dengguanFL.AddTextButtonView();
            dengguanFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_dengguan.png";
            dengguanFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_dengguang_selected.png";
            dengguanFL.GetTextButton().Text = "灯光1";
            dengguanFL.AddClickView();
            tingzhiFL = new CustomFrameLayout();
            line12Fl.AddChidren(tingzhiFL);
            tingzhiFL.X = dengguanFL.Right + Application.GetRealWidth(septal);
            tingzhiFL.AddImageView();
            tingzhiFL.AddTextButtonView();
            tingzhiFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_tingzhi.png";
            tingzhiFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_tingzhi_selected.png";
            tingzhiFL.GetTextButton().Text = "停止";
            tingzhiFL.AddClickView();
            dankongdengFL = new CustomFrameLayout();
            line12Fl.AddChidren(dankongdengFL);
            dankongdengFL.X = tingzhiFL.Right + Application.GetRealWidth(septal);
            dankongdengFL.AddImageView();
            dankongdengFL.AddTextButtonView();
            dankongdengFL.GetImageButton().UnSelectedImagePath = "AksIcon/ykq_dankongdeng.png";
            dankongdengFL.GetImageButton().SelectedImagePath = "AksIcon/ykq_dankongdeng_selected.png";
            dankongdengFL.GetTextButton().Text = "灯光2";
            dankongdengFL.AddClickView();
            #endregion
            //底部容器
            CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 72, 17);
            cornerBottomFram.X = Application.GetRealWidth(16);
            cornerBottomFram.Y = middLayout.Bottom + Application.GetRealHeight(16);
            cornerBottomFram.Y = layout.Bottom + Application.GetRealHeight(16);
            cornerBottomFram.BackgroundColor = MusicColor.WhiteColor;
            this.AddChidren(cornerBottomFram);
            menuFram = new MenuFramLayout();
            menuFram.Y = Application.GetRealHeight(24);
            menuFram.AddView(cornerBottomFram);
            typeMultiFramLayout = new TypeMultiFramLayout();
            typeMultiFramLayout.multiFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32);
            typeMultiFramLayout.AddView(cornerBottomFram);
            typeMultiFramLayout.btnBottonRightName.TextID = StringId.dianshi;
            //初始值
            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) =>
            if (sequencerList.Count == 0)
            {
                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);
                //没有时序器
                tyySingleFramLayout = new TypeSingleFramLayout();
                tyySingleFramLayout.AddView(cornerBottomFram);
                tyySingleFramLayout.singleFramLayout.X = Application.GetRealWidth(226);
                tyySingleFramLayout.singleFramLayout.Width = Application.GetRealWidth(101);
                tyySingleFramLayout.singleFramLayout.Gravity = Gravity.CenterVertical;
                tyySingleFramLayout.btnName.Text = this.remoteControl.name;
                tyySingleFramLayout.btnName.X = Application.GetRealWidth(16);
                tyySingleFramLayout.btnName.Width = Application.GetRealWidth(48);
                tyySingleFramLayout.btnRightImage.X = tyySingleFramLayout.btnName.Right + Application.GetRealWidth(8);
                tyySingleFramLayout.btnRightImage.Width = Application.GetRealWidth(16);
                tyySingleFramLayout.btnRightImage.Height = Application.GetRealWidth(16);
                tyySingleFramLayout.btnRightImage.UnSelectedImagePath = "AksIcon/xuanze.png";
                tyySingleFramLayout.btnRightImage.Gravity = Gravity.CenterVertical;
                tyySingleFramLayout.btnLeftImage.Visible = false;
            };
            //控制点击事件
            clickRightLayout.MouseDownEventHandler += (sen, e) =>
                tyySingleFramLayout.CustomCalculationWidth(TypeSingleFramLayout.Orientation.right,
                  tyySingleFramLayout.singleFramLayout,
                  tyySingleFramLayout.btnName,
                   tyySingleFramLayout.btnRightImage,
                   48, 200);
            }
            else
            {
                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);
            };
                typeMultiFramLayout = new TypeMultiFramLayout();
                typeMultiFramLayout.multiFramLayout.Y = Application.GetRealHeight(16);
                typeMultiFramLayout.AddView(cornerBottomFram);
                typeMultiFramLayout.btnRightName.Text = this.remoteControl.name;
            }
            this.AdjustRealHeight(16);
        }
        /// <summary>
        /// 按键控制
        /// </summary>
        /// <param name="keypad"><按键标识/param>
        /// <param name="keyName"><按键名称(打印用的)/param>
        private void KeyControl(string keypad, string keyName, bool isSupport = true)
        {
            //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();
                    });
                }
            });
        }
    }
    /// <summary>
    /// 自己弄一个FrameLayout
    /// </summary>
    class CustomFrameLayout : BaseFramLayout
    {
        public const int widthFrameLayout = 36;
        public const int heightFrameLayout = 49 - 6;
        public CustomFrameLayout(int width = widthFrameLayout, int height = heightFrameLayout)
        {
            this.Width = Application.GetRealWidth(width);
            this.Height = Application.GetRealHeight(height);
        }
        Button btnImage = new Button
        {
            Width = Application.GetRealWidth(32),
            Height = Application.GetRealWidth(32),
            Gravity = Gravity.TopCenter,
        };
        Button btnText = new Button
        {
            Width = Application.GetRealWidth(36),
            Height = Application.GetRealHeight(16),
            TextSize = TextSize.Text12,
            TextColor = MusicColor.WhiteColor,
            SelectedTextColor = MusicColor.MusicTxet14SelectedColor,
            TextAlignment = TextAlignment.Center,
            Gravity = Gravity.CenterHorizontal,
            Padding = new Padding(0, 0, 0, 0),
        };
        Button btnNumber = new Button
        {
            Width = Application.GetRealWidth(widthFrameLayout),
            Height = Application.GetRealHeight(heightFrameLayout),
            Gravity = Gravity.Center,
            TextSize = 20,
            TextColor = MusicColor.WhiteColor,
            SelectedTextColor = MusicColor.MusicTxet14SelectedColor,
            IsBold = true,
        };
        Button btn = new Button
        {
            Width = Application.GetRealWidth(12),
            Height = Application.GetRealWidth(12),
            Gravity = Gravity.Center,
            Radius = (uint)Application.GetRealWidth(6),
            BackgroundColor = 0x00000000,
            SelectedBackgroundColor = 0xFFF2F3F7,
        };
        public FrameLayout clickFl = new FrameLayout
        {
            Width = Application.GetRealWidth(widthFrameLayout),
            Height = Application.GetRealHeight(heightFrameLayout),
        };
        public void AddImageView()
        {
            this.AddChidren(btnImage);
        }
        public void AddTextButtonView()
        {
            btnText.Y = btnImage.Bottom;
            this.AddChidren(btnText);
        }
        public void AddColorButtonView()
        {
            this.AddChidren(btn);
        }
        public void AddNumberButtonView()
        {
            this.AddChidren(btnNumber);
        }
        public Button GetImageButton()
        {
            return this.btnImage;
        }
        public Button GetTextButton()
        {
            return this.btnText;
        }
        public Button GetColorButto()
        {
            return this.btn;
        }
        public Button GetNumberButto()
        {
            return this.btnNumber;
        }
        public void AddClickView()
        {
            this.AddChidren(clickFl);
        }
        /// <summary>
        /// 事件监听方法
        /// 是定要添加AddClickView(),点击事件才生效;
        /// </summary>
        /// <param name="action">回调(父类对象)</param>
        public void SetClickListener(Action action)
        {
            clickFl.MouseUpEventHandler += (sender, e) =>
            {
                action?.Invoke();
                //按下去改变背景颜色
                btnImage.IsSelected = true;
                btnText.IsSelected = true;
                btnNumber.IsSelected = true;
                btn.IsSelected = true;
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(millisecondsTimeout);
                    Application.RunOnMainThread(() =>
                    {
                        //弹起来还原背景颜色
                        btnImage.IsSelected = false;
                        btnText.IsSelected = false;
                        btnNumber.IsSelected = false;
                        btn.IsSelected = false;
                    });
                })
                { IsBackground = true }.Start();
            };
        }
    }
}