我想将我的按钮始终放在中心,以适应任何不断变化的应用宽度和高度。
如何在mxml中实现它?
答案 0 :(得分:1)
您想将按钮置于什么的中心?有时我认为这样的代码在ActionScript中作为updateDisplayList()方法的一部分做得更好。但是,如果您想在MXML中执行此操作:
<buttonContainer id="container">
<s:Button x="{container.width/2}" y="{container.height/2}" />
</buttonContainer>
从概念上讲,这应该适用于任何容器。有些容器使它更容易;比如VGroup:
<s:VGroup horizontalAlign="Center" verticalAlign="middle">
<s:Button />
</s:VGroup>
答案 1 :(得分:1)
如果Button
的容器具有绝对布局(BasicLayout),则只需使用UIcomponent
的{{3}}和horizontalCenter属性即可:
<s:Group width="400" height="300">
<s:Button horizontalCenter="0" verticalCenter="0" />
</s:Group>
BasicLayout
是每个Spark容器的默认布局。 mx组件没有单独的布局类,但概念是相同的:默认情况下,定位是绝对的。
答案 2 :(得分:0)
我找到了将按钮放在舞台中央的确切解决方案,以适应任何不断变化的舞台宽度和高度
button.x=(stage.stageWidth-button.width)/2;
button.y=(stage.stageHeight-button.height)/2;