我需要以编程方式添加一组控件,它们之间有一些像素。我似乎无法在Flex文档中找到如何执行此操作。我该怎么办?
答案 0 :(得分:2)
在具有绝对定位的容器内,例如画布,您可以使用x和y(或右,左,上,下)来定位元素
elem.x = 100;
elem.y = 200;
canvas.addChild(ELEM);
答案 1 :(得分:2)
大多数容器都有一些逻辑来为您放置物品,例如垂直或水平。即如果你想用5像素的空间水平放置它们,你可以使用HBox(VBox用于垂直布局):
<mx:HBox horizontalGap="5">
<Component1/>
<Component2/>
<etc.../>
</mx:HBox>
或脚本:
...
var box: HBox = new HBox();
box.horizontalGap = 5;
box.addChild(new Component1());
box.addChild(new Component2());
addChild(box);
但是如果你想使用x,y坐标(即绝对定位)自己放置它们,你可以使用Canvas:
<mx:Canvas>
<Component1 x="100" y="100"/>
<Component2 x="100" y="200"/>
<etc.../>
</mx:Canvas>
脚本版本:
var canvas: Canvas = new Canvas();
var component1: Component1 = new Component1();
component1.x = 100;
component1.y = 100;
canvas.addChild(component1);
var component2: Component2 = new Component2();
component2.x = 100;
component2.y = 100;
canvas.addChild(component2);
答案 2 :(得分:0)
您还可以使用Spacer在组件之间添加一些空间。
<mx:HBox>
<Component1 />
<mx:Spacer width="10" />
<Component2 />
</mx:HBox>
答案 3 :(得分:0)
如果您的窗口可以重新调整大小,建议不要使用绝对布局 - 最好使用width =“100%”和height = 100%,然后使用minHeight / minWidth / maxWidth等。 在您的情况下,您可以设置间隔的最小宽度/高度(在2个组件之间),以便页面按比例缩放。