From 5bd5cdbae1d22b5e14e6933b807ed97b89807b6f Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 18 十月 2023 19:33:20 +0800 Subject: [PATCH] 2023年10月18日19:32:41 --- HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs | 69 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 6 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs index cc9cd29..aa7ac69 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/TypeSingleFramLayout.cs @@ -27,10 +27,10 @@ public FrameLayout singleFramLayout = new FrameLayout { BackgroundColor = MusicColor.ViewColor, - Gravity = Gravity.CenterHorizontal, + //Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(101), - Height = Application.GetRealHeight(40), - Radius = (uint)Application.GetRealHeight(20), + Height = Application.GetRealHeight(34),//40 + Radius = (uint)Application.GetRealHeight(17), }; public Button btnLeftImage = new Button @@ -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