くHBoxからね。VBoxか
-
23-09-2019 - |
質問
唯一のHBox答えが図ればいい答えをこちらで誰を助けるためにしようというとVBox.くなれば良いと思いますから両方のactionscriptとmxmlの.
ってHBoxしたいテキストの整列左から、一部のラジオからです。このように:
___________________________________________________
| |
|Text Yes () No() |
|___________________________________________________|
アによって、このような目に見えないボックスの幅は100%の間のテキストであり、ラジオ、このような
_____ __________________________________ ________________
| | | |
|Text | invisible box percentWidth=100; | Yes () No() |
|_____|__________________________________|________________|
いうだけで、ラジオ、自HBoxることが右揃えのようになります:
_____ ________________________________________________________
| | |
|Text | Yes () No() |
|_____|________________________________________________________|
いくつかの投稿をお話ししhorizontalAlign財産もしっかり身につけるためて発見された文書です。
どのようにして達成できます。
感謝 ~マイク
解決
のVBoxとHBoxのコンポーネント(それは箱から継承されています)上のhorizontalAlign
性、verticalAlign
プロパティは、あります。それらのコンポーネントの子の水平および垂直方向の配置を決定する。
私は一般的に、スペーサーオブジェクトを使用します。しかし、あなたがやりたいことのために、これは偉大な動作します。
でMXMLはあなたのような何かを行うことができます:
<mx:RadioButtonGroup id="yesNoRadioGroup"/>
<mx:HBox id="containingHBox" width="100%">
<mx:Text id="textElement" width="200" text="lakdfa lkadslkjraklnd kadflk lakdsjlkja lksdlkjdflk jalkdlkjdfslksajdf lkjasdflkjdsalkjds lksdjlkj"/>
<mx:HBox id="rightAlignedHorizontalContent" width="100%" horizontalAlign="right">
<mx:RadioButton id="yesRadio" label="Yes" groupName="yesNoRadioGroup"/>
<mx:RadioButton id="noRadio" label="No" groupName ="yesNoRadioGroup"/>
</mx:HBox>
</mx:HBox>
はhorizontalAlign
セットとのHBoxがそうでなければ、幅値を有していなければならないことは注意が、それだけでその場合、アライメントは議論の余地があり、その子の幅を収容するのに十分な幅になります。
ここでASのバージョンがあります:
<mx:Script>
<![CDATA[
import mx.controls.RadioButton;
import mx.controls.RadioButtonGroup;
import mx.controls.Text;
private var containingHBox:HBox;
private var textElement:Text;
private var rightAlignedHorizontalContent:HBox;
private var yesNoRadioGroup:RadioButtonGroup;
private var yesRadio:RadioButton;
private var noRadio:RadioButton;
override protected function createChildren():void
{
super.createChildren();
containingHBox = new HBox();
containingHBox.percentWidth = 100;
textElement = new Text();
textElement.width = 200;
textElement.text = "lakdfa lkadslkjraklnd kadflk lakdsjlkja lksdlkjdflk jalkdlkjdfslksajdf lkjasdflkjdsalkjds lksdjlkj";
rightAlignedHorizontalContent = new HBox();
rightAlignedHorizontalContent.percentWidth = 100;
rightAlignedHorizontalContent.setStyle("horizontalAlign","right");
yesNoRadioGroup = new RadioButtonGroup();
yesRadio = new RadioButton();
yesRadio.label = "Yes";
yesRadio.groupName = "yesNoRadioGroup";
noRadio = new RadioButton();
noRadio.label = "No";
noRadio.groupName = "yesNoRadioGroup";
addChild(containingHBox);
containingHBox.addChild(textElement);
containingHBox.addChild(rightAlignedHorizontalContent);
rightAlignedHorizontalContent.addChild(yesRadio);
rightAlignedHorizontalContent.addChild(noRadio);
}
]]>
</mx:Script>
他のヒント
は、その後、使用するスペーサーは、右/下へ上の特定の項目のすべての方法を移動するために行くための正しい方法です。
の代替は、制約ベースのレイアウトです。あなたが左にアンカー内容にしたいとき、これはあなたが親として、子セット「右= 『0』」すべての道を右にそれを配置するにはキャンバスを使用し、良いです。これは、あなたが自分のサイズに基づいて複数の項目を積み重ねているあまり理想的です。あなただけのノーの右側にはい置くために結合、「右= '{noComponent.widthを}」を使用できます。