有一个
horizontalAlign
属性和
verticalAlign
属性,在vbox和hbox组件上(它是从box继承的)。它们确定组件子级的水平和垂直对齐方式。
我通常使用间隔对象,就像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>
注意,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>