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/CommonView/CornerFramLayout.cs |  263 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 212 insertions(+), 51 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/CornerFramLayout.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/CornerFramLayout.cs
index 63c868a..6595c4d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/CornerFramLayout.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/CornerFramLayout.cs
@@ -4,6 +4,7 @@
 using System.Collections.Generic;
 using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
 
+
 namespace HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView
 {
     /// <summary>
@@ -15,6 +16,8 @@
         private int leftMargin;
         private int bottomMargin;
         private int rightMargin;
+        private int mWidth;
+        private int mHeight;
         /// <summary>
         /// 涓�琛屽嚑涓厓绱�
         /// </summary>
@@ -23,12 +26,14 @@
         /// 鍒楄〃鏈�澶у��
         /// </summary>
         private int mListCount;
-
-        public Action<KeypadEntity> selectAction = null;
         /// <summary>
-        /// 褰撳墠閫夋嫨鐨勭储寮�(鍐呴儴浣跨敤)
+        /// 鎸夐敭鍥炶皟
         /// </summary>
-        private int CurrnetSelectIndex = -1;
+        public Action<KeypadEntity> selectKeyAction = null; 
+        /// <summary>
+        /// 褰辩墖鍥炶皟
+        /// </summary>
+        public Action<MovieLibrary> selectImageAction = null;
 
 
         /// <summary>
@@ -43,6 +48,8 @@
             this.Width = Application.GetRealWidth(width);
             this.Height = Application.GetRealHeight(height);
             this.Radius = (uint)Application.GetRealHeight(radius);
+            this.mWidth = this.Width;
+            this.mHeight = this.Height;
 
 
         }
@@ -68,7 +75,7 @@
         /// </summary>
         public List<KeypadEntity> GetTestList()
         {
-            return AksCommonMethod.Current.GetTYYKeypadList();
+            return AksCommonMethod.Current.GetTYYKeypadList(null);
         }
 
         /// <summary>
@@ -76,8 +83,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;
@@ -114,17 +126,29 @@
                     line++;
                     xCount = 0;
                 }
+                //涓嶆敮鎸佹寜閿偣鍑昏儗鏅鑹�
+                if (!keypad.isClicked)
+                {
+                    buttonFram.GetImageButton().Alpha = 0.5f;
+                    buttonFram.GetNameButton().TextColor =unBackgroundColor;
+                    buttonFram.SetClick(false);
+
+                }
                 buttonFram.SetClickListener((fl, btnIcon, btnName) =>
                 {
-                    if (buttonFram.Tag != null)
+                    if (buttonFram.Tag == null)
                     {
-                        selectAction?.Invoke((KeypadEntity)buttonFram.Tag);
+                        return;
                     }
+                    selectKeyAction?.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);
+                //    }
                 //}
 
 
@@ -135,10 +159,14 @@
         /// 鍔ㄦ�佸姞杞芥寜閿晫闈�
         /// </summary>
         /// <param name="mList">鍒楄〃</param>
-        /// <param name="list">鍒楄〃涓储寮�,琛ㄧず鏌愪竴鏉″搴﹀姞瀹�</param>
-        public void LoadButtonPage(List<KeypadEntity> mList, List<int> list)
+        /// <param name="list"> 鍒楄〃涓储寮�,琛ㄧず鏌愪竴鏉″搴﹀姞瀹�,娌℃湁榛樿(new List<int>)</param>
+        /// <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;
             //鑾峰彇鐩稿涓�涓含搴﹀��
@@ -187,18 +215,29 @@
                     currnetheightValue += ButtonFramLayout.heightFrameLayout;
                     currnetWidthValue = 0;
                 }
-
+                //涓嶆敮鎸佹寜閿偣鍑昏儗鏅鑹�
+                if (!keypad.isClicked)
+                {
+                    buttonFram.GetImageButton().Alpha = 0.5f;
+                    buttonFram.GetNameButton().TextColor = unBackgroundColor;
+                    buttonFram.SetClick(false);
+                }
                 buttonFram.SetClickListener((fl, btnIcon, btnName) =>
                 {
-                    if (buttonFram.Tag != null)
+                    if (buttonFram.Tag == null)
                     {
-                        selectAction?.Invoke((KeypadEntity)buttonFram.Tag);
+                        return;
                     }
+                    selectKeyAction?.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,19 +245,24 @@
         /// <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;
+            int heightMaxValue = 84 - 6;
             int widthMaxValue = 78;
             //鑾峰彇鐩稿涓�涓含搴﹀��
             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),
@@ -232,7 +276,9 @@
                     IsBold = true,
                     Tag = keypad,
                     BackgroundColor = MusicColor.WhiteColor,
-                    SelectedBackgroundColor = 0xff454635,
+                    SelectedBackgroundColor = 0xFFF2F3F7,
+                    Radius = (uint)Application.GetRealHeight(8),
+                    SelectedTextColor = MusicColor.TextColor,
                 };
                 this.AddChidren(button);
 
@@ -242,21 +288,25 @@
                     currnetheightValue += heightMaxValue;
                     currnetWidthValue = 0;
                 }
-                button.MouseDownEventHandler += (sen, e) =>
+                //涓嶆敮鎸佹寜閿偣鍑昏儗鏅鑹�
+                if (!keypad.isClicked)
                 {
-                    if (button.Tag == null || ((KeypadEntity)button.Tag).keypad == "none")
+                    button.TextColor =unBackgroundColor;
+
+                }
+
+
+                button.MouseUpEventHandler += (sen, e) =>
+                {
+                    if (button.Tag == null || ((KeypadEntity)button.Tag).keypad == "none"|| !((KeypadEntity)button.Tag).isClicked)
                     {
                         return;
                     }
-                    button.IsSelected = true;
-                    selectAction?.Invoke((KeypadEntity)button.Tag);
-                };
-                button.MouseUpEventHandler += (sen, e) =>
-                {
-                    button.IsSelected = false;
+                    selectKeyAction?.Invoke((KeypadEntity)button.Tag);
+                    SetButtonIsSelected(button);
                 };
 
-                //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i)
+                //if (defaultIndex != -1 && defaultIndex == i)
                 //{
                 //    selectAction?.Invoke((int)buttonFram.Tag);
                 //}
@@ -265,9 +315,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 +332,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,24 +352,29 @@
 
                 imageFram.SetClickListener((fl) =>
                 {
-                    if (imageFram.Tag != null)
+                    if (imageFram.Tag != null&& imageFram.Tag is MovieLibrary)
                     {
-                        selectAction?.Invoke((KeypadEntity)imageFram.Tag);
+                        selectImageAction?.Invoke((MovieLibrary)imageFram.Tag);
                     }
                 });
                 //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i)
                 //{
-                //    selectAction?.Invoke((int)imageFram.Tag);
+                //    selectImageAction?.Invoke((int)imageFram.Tag);
                 //}
             }
         }
         /// <summary>
         /// 鍔ㄦ�佸姞杞藉浘鐗囩晫闈�
+        /// 褰辩墖甯冨眬
         /// </summary>
         /// <param name="mRowNumber">涓�琛屽灏戜釜鍏冪礌</param>
-        public void LoadImagePage(List<KeypadEntity> mList, int mRowNumber)
+        /// <param name="defaultIndex">榛樿鍊肩储寮曡寖鍥碵0,mList.count-1],鍊艰秴鍑鸿寖鍥磋涓烘棤鏁�</param>
+        public void LoadImagePage(List<MovieLibrary> mList, int mRowNumber)
         {
-
+            if (mList == null || mList.Count == 0)
+            {
+                return;
+            }
             if (mRowNumber == 0)
             {
                 return;
@@ -338,30 +402,127 @@
                 }
                 imageFram.SetClickListener((fl) =>
                 {
-                    if (imageFram.Tag != null)
+                    if (imageFram.Tag != null && imageFram.Tag is MovieLibrary)
                     {
-                        selectAction?.Invoke((KeypadEntity)imageFram.Tag);
+                        selectImageAction?.Invoke((MovieLibrary)imageFram.Tag);
                     }
                 });
 
                 //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i)
                 //{
-                //    selectAction?.Invoke((int)imageFram.Tag);
+                //    selectImageAction?.Invoke((MovieLibrary)imageFram.Tag);
                 //}
 
 
             }
         }
-        /// <summary> 
-        /// 璁剧疆鍒濆閫夋嫨(璇峰湪鍒濆鍖栧畬鎴愪箣鍓嶈皟鐢�)
+
+       private int currnetheightValue1 = 0;
+       private int currnetWidthValue1 = 0;
+       private int heightMaxValue1 = ImageFramlayout.heightFrameLayout;
+       private int widthMaxValue1 = ImageFramlayout.widthFrameLayout;
+        //鑾峰彇鐩稿涓�涓含搴﹀��
+       private int widthDimensionValue1 = Application.GetRealWidth(343) - Application.GetRealHeight(ImageFramlayout.widthFrameLayout / 2);
+        /// <summary>
+        /// 鍔犺浇褰辩墖鍒楄〃甯冨眬
+        /// (鐗规畩甯冨眬)
         /// </summary>
-        /// <param name="index">浠庡垪琛�0寮�濮嬭绠楃涓�涓厓绱�,璁剧疆瓒呰繃鍒楄〃鏈�澶�(new List().count-1)鍊艰涓烘棤鏁�</param>
-        public void SetIndex(int index = -1)
+        /// <param name="mList">鍒楄〃</param>
+        public void LoadImagePage(List<ImageFramlayout> imageFramlayoutList)
         {
-            if (index == -1) { return; }
-            this.CurrnetSelectIndex = index;
+
+            if (imageFramlayoutList==null||imageFramlayoutList.Count == 0)
+            {
+                return;
+            }
+            //int currnetheightValue = 0;
+            //int currnetWidthValue = 0;
+            //int heightMaxValue = ImageFramlayout.heightFrameLayout;
+            //int widthMaxValue = ImageFramlayout.widthFrameLayout;
+            ////鑾峰彇鐩稿涓�涓含搴﹀��
+            //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 = 0; i < imageFramlayoutList.Count; i++)
+            {
+                var imageFram = imageFramlayoutList[i];
+                if (imageFram == null)
+                {
+                    continue;
+                }
+                imageFram.AddView(this);
+                imageFram.Y =Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue1);
+                imageFram.X = Application.GetRealWidth(currnetWidthValue1);
+                currnetWidthValue1 += (widthMaxValue1 + 8);//8鏄殧闂村��
+                if (widthDimensionValue1 < Application.GetRealWidth(currnetWidthValue1))
+                {
+                    currnetheightValue1 += (heightMaxValue1 + 20);//20鏄殧闂村��
+                    currnetWidthValue1 = 0;
+                }
+
+                imageFram.SetClickListener((fl) =>
+                {
+                    if (imageFram.Tag != null && imageFram.Tag is MovieLibrary)
+                    {
+                        selectImageAction?.Invoke((MovieLibrary)imageFram.Tag);
+                    }
+                });
+            }
+        }
+        /// <summary>
+        /// 姘村钩婊戝姩甯冨眬
+        /// </summary>
+        /// <param name="mList">鍒楄〃</param>
+        /// <param name="defaultIndex">榛樿鍊肩储寮曡寖鍥碵0,mList.count-1],鍊艰秴鍑鸿寖鍥磋涓烘棤鏁�</param>
+        public void LoadHorizontalPage(List<FilterCategoryEntity> mList, int defaultIndex = -1)
+        {
+            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;
+                    selectKeyAction?.Invoke(keypad);
+                };
+                horizontal.InitControl(filterCategory.filters, defaultIndex);
+
+
+            }
 
         }
+
         /// <summary>
         /// 鏈�鍚庝竴琛�
         /// </summary>

--
Gitblit v1.8.0