Flex:Multy row TabBar?

时间:2012-03-15 11:37:05

标签: actionscript-3 flex air flex4.5

  • 根据容器的宽度,是否有可能,以及如何(如果有)拥有多行TabBar?

1 个答案:

答案 0 :(得分:8)

这就像给你的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)来覆盖此值。

如果您希望它是真正动态的,您可以通过将TabBar的总width与TileLayout的columnWidth进行比较来计算所需的行数,并将得到的数字绑定到{{1} } property。