From 282f291d9279319b0e6b4a882b02ed2b50501c04 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 18 十月 2023 15:28:16 +0800
Subject: [PATCH] 2023年10月18日15:27:09

---
 HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs
index 15f7d9f..aa7ac69 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs
@@ -53,8 +53,7 @@
             TextColor = MusicColor.TextColor,
             TextAlignment = TextAlignment.Center,
             Gravity = Gravity.CenterVertical,
-            IsMoreLines = true,
-            Padding=new Padding(0,0,0,0),
+            Padding = new Padding(0, 0, 0, 0),
             Name = "btnName",
         };
 
@@ -114,12 +113,70 @@
             {
                 //鎸変笅鍘绘敼鍙樿儗鏅鑹�
                 //singleFramLayout.BackgroundColor = this.DownBackgroundColor;
-                
+
             };
             singleFramLayout.MouseDownEventHandler += DownClick;
             btnLeftImage.MouseDownEventHandler += DownClick;
             btnName.MouseDownEventHandler += DownClick;
             btnRightImage.MouseDownEventHandler += DownClick;
         }
+
+
+        /// <summary>
+        /// 鑷姩璁$畻鎺т欢闀垮害
+        /// </summary>
+        /// <param name="orientation">浣嶇疆(宸︽垨鍙�)</param>
+        /// <param name="frame">鐖跺鍣�</param>
+        /// <param name="btnName">澶囨敞鎺т欢</param>
+        /// <param name="btnImage">鍥炬爣澶囨敞鎺т欢</param>
+        /// <param name="btnNameWidth">澶囨敞鎺т欢瀹藉害</param>
+        /// <param name="btnNameWidthMaxValue">澶囨敞鎺т欢瀹藉害鏈�澶у��</param> 
+        /// <param name="parentDefaultWidthMaxValue">鐖舵帶浠跺搴﹂粯璁ゆ渶澶у��</param>
+        public void CustomCalculationWidth(Orientation orientation, FrameLayout frame, Button btnName, Button btnImage, int btnNameWidth,int btnNameWidthMaxValue = 110, int parentDefaultWidthMaxValue = 101)
+        {
+
+            int parentRightX = 226;
+            int parentLeftX = 16;
+
+
+            if (btnName.GetTextWidth() > Application.GetRealWidth(btnNameWidth))
+            {
+                frame.Width = Application.GetRealWidth(parentDefaultWidthMaxValue - btnNameWidth) + btnName.GetTextWidth();
+                if (orientation == Orientation.right)
+                {
+                    frame.X = Application.GetRealWidth(parentRightX + btnNameWidth) - btnName.GetTextWidth();
+                }
+                else if (orientation == Orientation.left)
+                {
+                    frame.X = Application.GetRealWidth(parentLeftX);
+                }
+                btnName.Width = btnName.GetTextWidth();
+                btnImage.X = btnName.Right + Application.GetRealWidth(8);
+            }
+
+            if (btnName.GetTextWidth() > Application.GetRealWidth(btnNameWidthMaxValue))
+            {
+
+                btnName.Width = Application.GetRealWidth(btnNameWidthMaxValue);
+                if (orientation == Orientation.right)
+                {
+                    frame.X =Application.GetRealWidth(parentRightX+ btnNameWidth) - btnName.Width;
+                }
+                else if (orientation == Orientation.left)
+                {
+                    frame.X = Application.GetRealWidth(parentLeftX);
+                }
+                frame.Width = Application.GetRealWidth(parentDefaultWidthMaxValue - btnNameWidth) + btnName.Width;
+                btnImage.X = btnName.Right + Application.GetRealWidth(8);
+            }
+
+        }
+
+        public enum Orientation
+        {
+            left,
+            right,
+
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0