2013-01-10 87 views
0

我有一個包含兩個標籤的組。標籤中的文字會動態變化,有時會出現長文字。如果我使用寬度= 50%作爲標籤,這可能會導致未使用的丟失空間,如下面的示例所示,如果一個標籤要求少於50%。如何佈置標籤以便使用最大可用空間(即,如果需要,可以使用標籤寬度= 100%和一個或兩個標籤截斷文本的總和)?帶標籤截斷的組佈局

<?xml version="1.0"?> 
<s:Application 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx"> 
    <s:HGroup width="200"> 
    <s:Label width="50%" text="Label1" maxDisplayedLines="1"/> 
    <s:Label width="50%" text="Label2: some very very long text" maxDisplayedLines="1"/> 
    </s:HGroup> 
</s:Application> 
+0

由於HGroup有一個固定的寬度,你可以在這兩個標籤設置'maxWidth'到'100'和刪除其'width'值。但我認爲你正在尋找更通用的解決方案。 – RIAstar

+0

是的。例如,我設置HGroup width =「200」,但在我的應用程序中,該組具有可變寬度。 – Chris

+0

你總是可以將'maxWidth'綁定爲容器寬度的一半:'maxWidth =「{containerHGroup.width/2}」' – RIAstar

回答

0

這樣的:

<s:HGroup width="200" gap="5" id="container"> 
    <s:Label text="Label1: so" maxDisplayedLines="1" showTruncationTip="true" maxWidth="{container.width/2}"/> 
    <s:Label text="Label2: some very very long text that i want to display" maxDisplayedLines="1" maxWidth="{container.width/2}" showTruncationTip="true"/> 
</s:HGroup> 
+0

我修正了它現在檢查 –

+0

感謝您的幫助。但是現在標籤2的右側存在浪費的空間,即label2被限制爲50%,而它可以佔用更多空間並且被截斷得更少。我的目標是儘可能少地截斷 – Chris

+0

該代碼的工作原理...當我使用短標籤1時,標籤2被截斷以適應200的寬度。當我使用短標籤2時,label1被截斷。如果我使用短標籤1和短標籤2,它們仍然適合200寬度。我不知道你說的話還是錯的。我在你的問題中遺漏了什麼? –