Flex: Multy ряд TabBar? - PullRequest
       22

Flex: Multy ряд TabBar?

2 голосов
/ 15 марта 2012
  • Возможно ли и как это сделать (если оно есть), чтобы иметь многофункциональную строку TabBar, основанную на ширине контейнера?

1 Ответ

8 голосов
/ 15 марта 2012

Это так же просто, как дать вашему TabBar TileLayout. Вам не нужно создавать подкласс TabBar и вам даже не нужно создавать собственный класс скина для него. Просто сделай это:

<s:TabBar dataProvider="{dp}" left="0" right="0">
    <s:layout>
        <s:TileLayout horizontalGap="-1" verticalGap="-1" 
                      requestedRowCount="2" />
    </s:layout>
</s:TabBar>

Который будет производить что-то вроде этого:

TabBar with TileLayout

Разрыв под TabBar, который вы видели, создается потому, что TileLayout по умолчанию выделит определенное количество строк. Вы можете переопределить это, установив requestedRowCount равным ожидаемому числу строк (2 в этом примере).

Если вы хотите, чтобы он был действительно динамичным, вы можете рассчитать необходимое количество строк, сравнив общее значение width в TabBar с columnWidth в TileLayout и связав полученное число со свойством requestedRowCount.

...