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