<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 ピクセルがどこから来るのか知りたいです。
ありがとう。