wjc
2023-08-10 ff423b88a0dc521932305b5bd44b1786d3e42722
HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/CornerFramLayout.cs
@@ -25,10 +25,6 @@
        private int mListCount;
        public Action<KeypadEntity> selectAction = null;
        /// <summary>
        /// 当前选择的索引(内部使用)
        /// </summary>
        private int CurrnetSelectIndex = -1;
        /// <summary>
@@ -76,8 +72,13 @@
        /// </summary>
        /// <param name="mList">列表</param>
        /// <param name="mRowNumber">一行多少个元素</param>
        public void LoadButtonPage(List<KeypadEntity> mList, int mRowNumber)
        /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param>
        public void LoadButtonPage(List<KeypadEntity> mList, int mRowNumber, int defaultIndex = -1)
        {
            if (mList == null || mList.Count == 0)
            {
                return;
            }
            if (mRowNumber == 0)
            {
                return;
@@ -116,15 +117,18 @@
                }
                buttonFram.SetClickListener((fl, btnIcon, btnName) =>
                {
                    if (buttonFram.Tag != null)
                    if (buttonFram.Tag != null&& buttonFram.Tag is KeypadEntity)
                    {
                        selectAction?.Invoke((KeypadEntity)buttonFram.Tag);
                    }
                });
                //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i)
                //if (defaultIndex != -1 && defaultIndex == i)
                //{
                //    selectAction?.Invoke((int)buttonFram.Tag);
                //    if (buttonFram.Tag != null && buttonFram.Tag is KeypadEntity)
                //    {
                //        selectAction?.Invoke((KeypadEntity)buttonFram.Tag);
                //    }
                //}
@@ -136,9 +140,13 @@
        /// </summary>
        /// <param name="mList">列表</param>
        /// <param name="list">列表中索引,表示某一条宽度加宽</param>
        public void LoadButtonPage(List<KeypadEntity> mList, List<int> list)
        /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param>
        public void LoadButtonPage(List<KeypadEntity> mList, List<int> list,int defaultIndex=-1)
        {
            if (mList == null || mList.Count == 0)
            {
                return;
            }
            int currnetheightValue = 0;
            int currnetWidthValue = 0;
            //获取相对一个纬度值
@@ -190,15 +198,18 @@
                buttonFram.SetClickListener((fl, btnIcon, btnName) =>
                {
                    if (buttonFram.Tag != null)
                    if (buttonFram.Tag != null&& buttonFram.Tag is KeypadEntity)
                    {
                        selectAction?.Invoke((KeypadEntity)buttonFram.Tag);
                    }
                });
                //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i)
                //if (defaultIndex != -1 && defaultIndex == i)
                //{
                //    selectAction?.Invoke((int)buttonFram.Tag);
                //    if (buttonFram.Tag != null && buttonFram.Tag is KeypadEntity)
                //    {
                //        selectAction?.Invoke((KeypadEntity)buttonFram.Tag);
                //    }
                //}
            }
        }
@@ -206,9 +217,14 @@
        /// <summary>
        ///动态加载数字按键界面
        /// </summary>
        /// <param name="mList">列表</param>
        /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param>
        public void LoadNumberButtonPage(List<KeypadEntity> mList)
        {
            if (mList == null || mList.Count == 0)
            {
                return;
            }
            int currnetheightValue = 0;
            int currnetWidthValue = 0;
            int heightMaxValue = 84;
@@ -216,9 +232,9 @@
            //获取相对一个纬度值
            int heightDimensionValue = this.Height - Application.GetRealHeight(this.topMargin) - Application.GetRealHeight(this.bottomMargin) - Application.GetRealHeight(heightMaxValue / 2);
            int widthDimensionValue = this.Width - Application.GetRealWidth(this.leftMargin) - Application.GetRealWidth(this.rightMargin) - Application.GetRealHeight(widthMaxValue / 2);
            for (int i = 1; i <= mList.Count; i++)
            for (int i = 0; i <mList.Count; i++)
            {
                var keypad = mList[i - 1];
                var keypad = mList[i];
                Button button = new Button
                {
                    Y = Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue),
@@ -256,7 +272,7 @@
                    button.IsSelected = false;
                };
                //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i)
                //if (defaultIndex != -1 && defaultIndex == i)
                //{
                //    selectAction?.Invoke((int)buttonFram.Tag);
                //}
@@ -265,9 +281,16 @@
        /// <summary>
        /// 动态加载图片界面
        /// 影片布局
        /// </summary>
        public void LoadImagePage(List<KeypadEntity> mList)
        /// <param name="mList">列表</param>
        /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param>
        public void LoadImagePage(List<MovieLibrary> mList)
        {
            if (mList == null || mList.Count == 0)
            {
                return;
            }
            int currnetheightValue = 0;
            int currnetWidthValue = 0;
            int heightMaxValue = ImageFramlayout.heightFrameLayout;
@@ -275,15 +298,17 @@
            //获取相对一个纬度值
            int heightDimensionValue = this.Height - Application.GetRealHeight(this.topMargin) - Application.GetRealHeight(this.bottomMargin) - Application.GetRealHeight(heightMaxValue / 2);
            int widthDimensionValue = this.Width - Application.GetRealWidth(this.leftMargin) - Application.GetRealWidth(this.rightMargin) - Application.GetRealHeight(widthMaxValue / 2);
            for (int i = 1; i <= mList.Count; i++)
            for (int i = 0; i < mList.Count; i++)
            {
                var keypad = mList[i - 1];
                var movieLibrary = mList[i];
                ImageFramlayout imageFram = new ImageFramlayout();
                imageFram.AddView(this);
                imageFram.Tag = keypad;
                imageFram.Tag = movieLibrary;
                imageFram.Y = Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue);
                imageFram.X = Application.GetRealWidth(currnetWidthValue);
                imageFram.btnName.Text = keypad.name;
                imageFram.btnName.Text = movieLibrary.name;
                imageFram.btnImage.ImageBytes = movieLibrary.imageBytes;
                imageFram.btnScore.Text = movieLibrary.rating;
                currnetWidthValue += (widthMaxValue + 8);//8是隔间值
                if (widthDimensionValue < Application.GetRealWidth(currnetWidthValue))
                {
@@ -293,7 +318,7 @@
                imageFram.SetClickListener((fl) =>
                {
                    if (imageFram.Tag != null)
                    if (imageFram.Tag != null&& imageFram.Tag is KeypadEntity)
                    {
                        selectAction?.Invoke((KeypadEntity)imageFram.Tag);
                    }
@@ -306,11 +331,16 @@
        }
        /// <summary>
        /// 动态加载图片界面
        /// 影片布局
        /// </summary>
        /// <param name="mRowNumber">一行多少个元素</param>
        /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param>
        public void LoadImagePage(List<KeypadEntity> mList, int mRowNumber)
        {
            if (mList == null || mList.Count == 0)
            {
                return;
            }
            if (mRowNumber == 0)
            {
                return;
@@ -353,15 +383,60 @@
            }
        }
        /// <summary> 
        /// 设置初始选择(请在初始化完成之前调用)
        /// 水平滑动布局
        /// </summary>
        /// <param name="index">从列表0开始计算第一个元素,设置超过列表最大(new List().count-1)值视为无效</param>
        public void SetIndex(int index = -1)
        /// <param name="mList">列表</param>
        /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param>
        public void LoadHorizontalPage(List<FilterCategoryEntity> mList, int defaultIndex = -1)
        {
            if (index == -1) { return; }
            this.CurrnetSelectIndex = index;
            if (mList == null || mList.Count == 0)
            {
                return;
            }
            for (int i = 0; i < mList.Count; i++)
            {
                var filterCategory = mList[i];
                BaseFramLayout horizontalFL = new BaseFramLayout
                {
                    Y = Application.GetRealHeight(i * 75),
                    Height = Application.GetRealHeight(75),
                    Width = this.Width,
                };
                this.AddChidren(horizontalFL);
                Button btnTitleType = new Button
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(16),
                    Height = Application.GetRealHeight(22),
                    Width = Application.GetRealWidth(200),
                    Text = filterCategory.name,
                    TextSize = TextSize.Text16,
                    TextColor = MusicColor.TextColor,
                    TextAlignment = TextAlignment.CenterLeft,
                    IsBold = true,
                    Tag = filterCategory,
                };
                horizontalFL.AddChidren(btnTitleType);
                HorizontalFramLayout horizontal = new HorizontalFramLayout(375 - 16, 28);
                horizontalFL.AddChidren(horizontal);
                horizontal.Y = btnTitleType.Bottom + Application.GetRealHeight(8);
                horizontal.X = Application.GetRealWidth(16);
                horizontal.SelectTypeEvent += (filters) =>
                {
                    KeypadEntity keypad = new KeypadEntity();
                    keypad.category = filters.category;
                    keypad.filterValue = filters.filterValue;
                    keypad.filterName = filters.filterName;
                    selectAction?.Invoke(keypad);
                };
                horizontal.InitControl(filterCategory.filters, defaultIndex);
        }
        }
        /// <summary>
        /// 最后一行
        /// </summary>