如何在Flex 4中减少ButtonBar上按钮的最小宽度?

时间:2011-01-18 05:51:56

标签: flex flex4

我创建了一个Spark ButtonBar,它使用XML动态填充并且蒙皮看起来像标准的TabBar。

当我在Flex 3中使用TabBar时,每个Tab的宽度会缩小或增长到Label的大小,再加上一侧有一点填充。

在Flex 4中使用spark ButtonBar时,我发现无论标签有多短(甚至是空字符串),按钮的宽度至少为70像素,并且会扩展为更长的标签。

我尝试在各个地方将minWidth设置为20,包括在我的ButtonBarButton皮肤上,但这没有效果。

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您需要创建自定义ButtonBarSkin以及ButtonBarButtonSkin(s)。默认的ButtonBarSkin使用三个不同的ButtonBarButtonSkins:

  1. ButtonBarFirstButtonSkin
  2. ButtonBarMiddleButtonSkin
  3. ButtonBarLastButtonSkin
  4. 这些皮肤是你的罪魁祸首。 (1)和(3)都有<s:Rect id="shadow"... width="69"...>作为最底层。中间的一个边框Rect的宽度为69,这次是在最上层。删除这些元素,您可以在皮肤中制作minWidth,无论您喜欢什么。 :)