我唯一真正需要的水平盒子的答案,但图,如果我们得到一个很好的答案在这里它会帮助任何人试图做一个类似的事情有一个竖直盒.这将是很高兴知道这个在这两个as和单.

所以我有一个水平盒子,我想要一些文字排从左侧和一些电台的权利。像这样:

 ___________________________________________________
|                                                   |
|Text                                Yes ()  No()   |
|___________________________________________________|

目前我正在这样做的具有一个无形的盒带的宽度为100%之间的文本和收音机,这样的

 _____ __________________________________ ________________
|     |                                  |                |
|Text | invisible box  percentWidth=100; | Yes ()  No()   |
|_____|__________________________________|________________|

我宁愿只有收音机在他们自己的水平盒子,是正确的结盟是这样的:

 _____ ________________________________________________________
|     |                                                        |
|Text |                                         Yes ()  No()   |
|_____|________________________________________________________|

我已经看到了一些文章谈论个horizontalAlign财产,但是我没有看到它在该文件的任何地方。

所以我怎么可以做到这一点?

感谢 ~迈克

有帮助吗?

解决方案

还有一个 horizontalAlign 酒店和一个 verticalAlign 酒店,在垂直框和水平盒子组件(这是继承框)。他们确定的水平和垂直对的成分是儿童。

我通常使用隔离的对象,就像Sam提及。但为什么你要这样做,这会工作的伟大。

在单你可以做一些事情,如:

<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 设有一个宽度的数值,否则,它只会是广泛的,足以容纳宽度的儿童,在这种情况下,对准是没有实际意义。

这里的作为的版本:

<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.宽}"把是的只是正确的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top