加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex – 从右边填充HBox? VBox从底部?

发布时间:2020-12-15 01:48:48 所属栏目:百科 来源:网络整理
导读:我只是真的需要HBox的答案,但想想如果我们在这里得到一个好的答案,它会帮助任何人试图用VBox做类似的事情.在actionscript和M XML中都知道这一点会很高兴. 所以我有一个HBox,我希望从左边对齐一些文本,从右边对齐一些无线电.像这样: _______________________
我只是真的需要HBox的答案,但想想如果我们在这里得到一个好的答案,它会帮助任何人试图用VBox做类似的事情.在actionscript和M XML中都知道这一点会很高兴.

所以我有一个HBox,我希望从左边对齐一些文本,从右边对齐一些无线电.像这样:

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

我目前这样做是通过在文本和无线电之间放置一个宽度为100%的隐形盒子,就像这样

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

我宁愿让他们自己的HBox中的无线电正确对齐如下:

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

我已经看到一些帖子谈论了一个horizo??ntalAlign属性,但我没有在文档中看到它.

那我该怎么做呢?

谢谢
?麦克

解决方法

VBox和HBox组件上有一个horizo??ntalAlign属性和一个verticalAlign属性(它继承自Box).它们确定组件子项的水平和垂直对齐方式.

我通常使用Spacer对象,就像Sam提到的那样.但是对于你想要做的事情,这将是很好的.

在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>

请注意,具有horizo??ntalAlign集的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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读