0
<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 が表示されない状態で開始する必要があります。小さなボタンのいずれかをクリックすると、3 つの小さなボタンの代わりに bigButton が表示されます。小さいボタンの幅は 18 に設定され、bigButton の幅は 72 に設定されています。

私の質問は、18x3 = 54 のように、bigButton の幅を 54 にするべきではありませんか? または、知っておくべきボタン内にパディングがありますか? このライブドキュメントページでは、..

デフォルトでは、Flex は Button コントロールの幅を拡大して、そのラベル、任意のアイコン、およびアイコンの周りの 6 ピクセルのパディングのサイズに合わせます。Button コントロールの width プロパティを特定の値またはその親コン​​テナーのパーセンテージに明示的に設定することで、この既定の幅をオーバーライドできます。パーセンテージ値を指定すると、親コンテナーのサイズが変更されると、ボタンは最小幅と最大幅の間でサイズ変更されます。

これが問題でしょうか?3 つのボタンがあり、アイコンの周りのパディングが 6x3 = 18 ピクセルを占めているためです。ボタンの間に隙間がないように見えます。余分な 18 ピクセルがどこから来るのか知りたいです。

ありがとう。

4

1 に答える 1

1

xボタンに何も設定されていない、またはleft何かが設定されていないとすぐにHGroupHorizontalLayout. という名前のgapプロパティがあり、このプロパティは6デフォルトです。しかし、18pxは追加されず、12pxが追加されます...

すべてのボタンを に設定minWidthしてみてください。0

于 2013-05-27T05:55:27.010 に答える