我读过很多文章说要在Flex 4中使用旧的“Layout ='Absolute'”,我只需要使用
<s:layout>
<s:BasicLayout/>
</s:layout>
但它不会以同样的方式工作。在Flex 3上,当您将应用程序布局设置为绝对时,X和Y属性会自动失去其实用程序,因为默认情况下,屏幕左上角会自动确定布局的每个组件。它与移动布局的工作方式类似:您可以使用Canvas设置X和Y(最常用于移动游戏开发人员),或者让设备放置所有内容以避免屏幕尺寸问题等。
Flex 4上仍然可以使用吗?它有多难/复杂? 谢谢你的关注。
编辑-------
所以看起来有点迷惑我想要的东西。回到Flex e,我曾经这样做过:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onInit()" width="100%" height="100%"
我用这个标签启动了我的应用程序,然后我会有一个100%宽度和100%高度的盒子容器。 因此,在这个盒子容器中,我会让HBox和VBox对齐我的组件(现在是VGroup和HGroup)。事实上,在Flex 3中,我可以放置1个VBox,其中3个HBox,每个HBox将自动一个位置,即X和Y属性为空。使用Flex 4,当我在不设置任何X和Y属性的情况下放置1个VGroup和3个HGroup时,它们只会填充一个在另一个之上,就像我已经设置了X,Y = 0到所有这些。他们不像以前那样假设第一个位置。
答案 0 :(得分:0)
请参阅Spark Layouts with Flex 4中的Flex 3到Flex 4等效布局:
使用Spark布局
因为布局和容器在Spark中是分开的,所以有一些 在使用时需要考虑的显着变化 布局。花点时间检查下面的MX布局表 容器类及其相应的Spark布局组合 和容器:
MX Containers Corresponding combination of Spark Layout and Container Canvas Group with BasicLayout (no advanced constraints) HBox Group with HorizontalLayout (or the HGroup class) VBox Group with VerticalLayout (or the VGroup class) Tile Group with TileLayout List List with VerticalLayout TileList List with TileLayout
在您的情况下,听起来您需要动态布局而不是绝对布局,因为您说您不想为控件提供X和Y坐标。
您有两个选择: