在Flex4 / mxml中,我有一堆元素,例如TextFields,Button或其他任何元素。我想将它们水平相邻放置。但是对于浏览器窗口或屏幕分辨率太小以至于并非所有人都适合水平放置的情况,我需要一种布局,该布局可以自动将多余的元素移到下面的行。
换句话说,我需要一个既包含水平布局又包含垂直布局的布局,而水平布局优先于垂直布局。所以实际上是一个非常简单的布局,但是我找不到解决方案。我该如何实现?
例如,以下是一个起点:
<mx:HBox horizontalGap="0" width="{width-30}" horizontalAlign="center" textAlign="center">
<mx:Label paddingLeft="10" text="anytext1" />
<mx:Label id="warn12" text="anytext2" />
<mx:Button label="Do Something1" click="{cf.doSomething(1)}"/>
<mx:Label paddingLeft="0" text="anytext3" />
<mx:Button label="Do Something2" click="{cf.doSomething(2)}"/>
</mx:HBox>
HBox将所有“标签”和“按钮”水平放置在一起,如果屏幕尺寸太小,则最右边的项目会超出右边的屏幕边框,但我希望它们在第二行的左侧下方显示。
另外,但不是很重要,如果屏幕尺寸大于必要尺寸,我希望标签和按钮居中。这就是horizontalAlign =“ center”和textAlign =“ center”的含义。
您应该能够使用一个Tile
元素。如果屏幕的宽度不足以容纳所有内容,它将自动将元素换行到新行:
<mx:Tile id="myFlow"
direction="horizontal" width="{width-30}"
paddingTop="0" paddingBottom="0"
paddingRight="0" paddingLeft="0"
verticalGap="0" horizontalGap="0">
<mx:Label paddingLeft="10" text="anytext1" />
<mx:Label id="warn12" text="anytext2" />
<mx:Button label="Do Something1" click="{cf.doSomething(1)}"/>
<mx:Label paddingLeft="0" text="anytext3" />
<mx:Button label="Do Something2" click="{cf.doSomething(2)}"/>
</mx:Tile>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句