Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flex:Multy row TabBar? 根据容器的宽度,有多行TabBar是可能的,以及如何做到(如果有)_Actionscript 3_Apache Flex_Air_Flex4.5 - Fatal编程技术网

Actionscript 3 Flex:Multy row TabBar? 根据容器的宽度,有多行TabBar是可能的,以及如何做到(如果有)

Actionscript 3 Flex:Multy row TabBar? 根据容器的宽度,有多行TabBar是可能的,以及如何做到(如果有),actionscript-3,apache-flex,air,flex4.5,Actionscript 3,Apache Flex,Air,Flex4.5,只需给您的TabBar添加一个TileLayout即可。您不必为TabBar创建子类,甚至不必为它创建自定义皮肤类。只要这样做: <s:TabBar dataProvider="{dp}" left="0" right="0"> <s:layout> <s:TileLayout horizontalGap="-1" verticalGap="-1" requestedRowCount="2" /&

只需给您的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>

这将产生如下结果:

您看到的选项卡栏下方的间隙是由于TileLayout默认分配一定数量的行而产生的。您可以通过将
requestedRowCount
设置为您期望的行数(本例中为2)来覆盖此设置


如果您希望它是真正动态的,您可以通过比较选项卡栏的总
宽度
与TileLayout的
列宽度
来计算所需的行数,并将结果的行数绑定到
requestedRowCount
属性。

我不确定具体怎么做,但扩展选项卡栏是一个很好的开始。你看到这个链接了吗?虽然完整的源代码链接已断开,但这可能会对您有所帮助。我也知道这不是你想要的,但是如果你不喜欢普通的TabBar,来自[link]的SuperTabBar有点不错:)我想你可以对自定义TabBarSkin应用TileLayout,而不是水平布局。这样,您甚至不必扩展TabBarI,而是添加了TileLayout,但在选项卡下方不断留下一些奇怪的间隙:|我在Flex 2天内建了一个;但我们决定不发布它,因为它违背了我们帮助人们创建直观用户界面的“目标”。我认为我们的组件将多个选项卡栏串在一起。@YordanYanakiev您是否尝试过将布局的“水平间隙”和“垂直间隙”设置为“0”甚至“-1”?它确实有效,但在选项卡栏对象之后仍然会出现扭曲间隙。:|如果它有帮助的话,它就在里面。Flex 4.6.@YordanYanakiev我已经为这个问题更新了我的答案。height=“{(int(dataProvidersTabs.length/(width/90))+1)*21}”这是另一个补丁,但可能有很多有用的解决方案。关于requestedRowCount-这实际上完成了工作!非常感谢您(里亚斯:)