Как обернуть элементы в новую строку в горизонтальной группе во Flex? - PullRequest
1 голос
/ 19 февраля 2012

У меня есть горизонтальная группа Spark (s: HGroup) в Flex с указанной шириной.
Но все метки вне группы скрыты (после 100 пикселей).

<s:HGroup width="100">
    <s:Label text="Hello" />
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
    <s:Label text="Hi" />      
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
</s:HGroup>

(это пример, я добавляю элементы в HGroup в Actionscript, не зная, сколько)

Итак, как я могу обернуть элементы внутри HGroup в новую строку, когда есть переполнение?

Ответы [ 2 ]

1 голос
/ 19 февраля 2012

Короткий ответ: ты не можешь. HGroup размещает элементы горизонтально.

Я думаю, вы захотите использовать группу с TileLayout

<s:Group width="100">
    <s:layout>
       <s:TileLayout />
    </s:layout>
    <s:Label text="Hello" />
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
    <s:Label text="Hi" />      
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
    <s:Label text="Hi" />        
    <s:Label text="Hello" />
</s:Group>

Если макет плитки не работает, вам придется создать свой собственный класс макета.

0 голосов
/ 19 февраля 2012

Я создал решение, возможно, не самое лучшее, но оно работает для меня.

Дело в том, что я хочу, чтобы кто-то мог щелкнуть ярлыки и выполнить функцию.

Теперь у меня есть это:

<mx:Text id="box" width="100"></mx:Text>

В ActionScript:

box.htmlText = box.htmlText + "<a href=\"event:hi\">Hi</a>";
box.htmlText = box.htmlText + "<a href=\"event:hello\">Hello</a>";
//etc (actually I've a for loop parsing some XML data)

box.addEventListener(TextEvent.LINK, executeFunction);

private function executeFunction(linkEvent:TextEvent):void {
    Alert.show(linkEvent.text); // will show a alert box with 'hi' or 'hello'
}

Текст внутри текстового поля MX идеально лежит в пределах 100 пикселей, максимально возможное количество текста на одной горизонтальной линии.

...