我是使用 mxml 构建应用程序的新手。
基本上,我正在使用 TileGroup 构建一个瓷砖列表(其中 6 个)。当它在纵向视图上初始化时,它看起来很棒(第一行有 3 个,第二行有 3 个)。
但是,当我更改方向时,我希望根据新的宽度和高度重新绘制图块。
从堆栈溢出,我发现我可以监听 resize 事件。但是,我不知道如何让 TileGroup 重绘。
最初,我认为我可以为 TileGroup 使用 autoLayout。但是,这并没有奏效。我很难寻找解决方案(也许我没有使用正确的关键词)。
我可以调用一个函数来重绘吗?
还是有另一种方法可以让我的瓷砖响应方向?
这是我的代码:
<components:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" xmlns:components="spark.components.*"
title="Forex Calculator">
<components:states>
<s:State name="portrait"/>
<s:State name="landscape"/>
</components:states>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:TileGroup id="mainGroup" includeIn="portrait, landscape" autoLayout="true">
<s:Rect width="75" height="75">
<s:fill>
<s:SolidColor color="0xd54f4f"/>
</s:fill>
</s:Rect>
<s:Rect width="75" height="75">
<s:fill>
<s:SolidColor color="0x2f977d"/>
</s:fill>
</s:Rect>
<s:Rect width="75" height="75">
<s:fill>
<s:SolidColor color="0xfffca2"/>
</s:fill>
</s:Rect>
<s:Rect width="75" height="75">
<s:fill>
<s:SolidColor color="0xfffca2"/>
</s:fill>
</s:Rect>
<s:Rect width="75" height="75">
<s:fill>
<s:SolidColor color="0xfffca2"/>
</s:fill>
</s:Rect>
</s:TileGroup>
请指教!谢谢!
贾斯汀