按钮宽度中的额外像素

时间:2013-05-27 03:01:38

标签: flex actionscript flex4 flex3 flexbuilder

<s:Button id="btn1" label="1" width="18" includeInLayout="true" visible="true" click="onSmallBtnClick();" />
<s:Button id ="btn2" label="2" width="18" includeInLayout="true" visible="true" click="onSmallBtnClick();" />
<s:Button id ="btn3" label="3" width="18" includeInLayout="true" visible="true" click="onSmallBtnClick();" />
<s:Button id="bigButton" label="bigButton" width="72" includeInLayout="false" visible="false" />

private function onSmallBtnClick():void {
    hideBtn(btn1);
    hideBtn(btn2);
    hideBtn(btn3);
    showBtn(bigButton);
}

private function showBtn(button:Button):void {
    button.visible = true;
    button.includeInLayout = true;
}

private function hideBtn(button:Button):void {
    button.visible = false;
    button.includeInLayout = false;
}

大家好,在上面的Flex代码中,我的界面上有4个四个按钮。界面应以小按钮1,2,3开头,bigButton不可见。单击任一小按钮时,bigButton将出现在3个小按钮的位置。小按钮的宽度设置为18,而bigButton宽度设置为72。

我的问题是,bigButton的宽度不应该是54,因为18x3 = 54?或者我应该知道按钮内是否有一些填充物?在这个live docs页面中,它说..

  

默认情况下,Flex会拉伸Button控件的宽度以适合大小   它的标签,任何图标,以及图标周围 6个像素的填充。您可以   通过显式设置width属性来覆盖此默认宽度   Button控件对特定值或其百分比的控制   父容器。如果指定百分比值,则按钮   在其最小和最大宽度之间调整大小   父容器更改。

这可能是问题吗?由于我有3个按钮,图标周围的填充占用6x3 = 18像素。按钮似乎没有任何差距。所以我很想知道额外的18个像素来自哪里。

感谢。

1 个答案:

答案 0 :(得分:1)

一旦我没有看到为按钮设置的任何xleft内容,我猜您使用HGroup或任何其他容器HorizontalLayout。 它有一个名为gap的属性,默认情况下此属性为6。 但它不会增加18px,它会增加12px ......

尝试为所有按钮设置minWidth0