Ich nutze MXML zum Erstellen von Apps.
Grundsätzlich baue ich eine Liste von Kacheln (6 davon) mit Tilegroup. Wenn es in der Porträtansicht initialisiert, sieht es gut aus (3 in der ersten Reihe und 3 in der zweiten).
Wenn ich jedoch die Orientierung ändere, möchte ich, dass die Fliesen auf der Grundlage der neuen Breite und Höhe neu zeichnen.
Aus dem Stack Overflow stellte ich fest, dass ich die Größe der Größe anhören kann, die Ereignisse anhören kann. Aber ich weiß nicht, wie ich die TileGroup zum erneuten Zeichnen bringen kann.
Anfangs dachte ich, ich könnte Autolayout für TileGroup verwenden. Aber das hat den Trick nicht getan. Es fällt mir schwer, nach einer Lösung zu suchen (vielleicht habe ich nicht die richtigen Schlüsselwörter verwendet).
Gibt es eine Funktion, die ich aufrufen kann, um neu zu zeichnen?
Oder gibt es eine andere Möglichkeit, meine Fliese auf die Orientierung zu reagieren?
Hier ist mein Code:
<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>
Bitte Ratschläge! Vielen Dank!
Justin