質問

唯一の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>

他のヒント

あなたはすでにあなたのレイアウトのためのHBox / VBoxのを使用している場合は、

は、その後、使用するスペーサーは、右/下へ上の特定の項目のすべての方法を移動するために行くための正しい方法です。

の代替は、制約ベースのレイアウトです。あなたが左にアンカー内容にしたいとき、これはあなたが親として、子セット「右= 『0』」すべての道を右にそれを配置するにはキャンバスを使用し、良いです。これは、あなたが自分のサイズに基づいて複数の項目を積み重ねているあまり理想的です。あなただけのノーの右側にはい置くために結合、「右= '{noComponent.widthを}」を使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top