Die UITextFormat-Klasse erweitert die flash.text.TextFormat-Klasse, um die
Der Standardwert ist
Diese Eigenschaft hat keine Auswirkungen für Systemschriftarten.
Diese Eigenschaft wird auf den gesamten Text in einem UITextField-Objekt angewendet. Es ist nicht möglich, ihn selektiv auf einzelne Zeichen anzuwenden.
Zulässige Werte sind
FTE und TLF verwenden diesen Wert in ihrem bidirektionalen Textlayoutalgorithmus, der die Unicode-Zeichenfolge der Glyphenfolge zuordnet.
Hinweis: Dieser Stil gilt nur, wenn dieses UITextFormat bei einem UIFTETextField (und nicht bei einem UITextField) verwendet wird.
Diese Eigenschaft kommt nur zur Anwendung, wenn Sie eine eingebettete Schriftart verwenden und die
Diese Eigenschaft hat keine Auswirkungen für Systemschriftarten.
Diese Eigenschaft wird auf den gesamten Text in einem UITextField-Objekt angewendet. Es ist nicht möglich, ihn selektiv auf einzelne Zeichen anzuwenden.
FTE und TLF verwenden dieses Gebietsschema für die Zuordnung von Unicode-Schriftarten zu Schriftartglyphen und für die Suche nach Ausweichschriftarten.
Hinweis: Dieser Stil gilt nur, wenn dieses UITextFormat bei einem UIFTETextField (und nicht bei einem UITextField) verwendet wird.
Diese Eigenschaft kommt nur zur Anwendung, wenn Sie eine eingebettete Schriftart verwenden und die
Diese Eigenschaft hat keine Auswirkungen für Systemschriftarten.
Diese Eigenschaft wird auf den gesamten Text in einem UITextField-Objekt angewendet. Es ist nicht möglich, ihn selektiv auf einzelne Zeichen anzuwenden.
Diese Eigenschaft kommt nur zur Anwendung, wenn Sie eine eingebettete Schriftart verwenden und die
Diese Eigenschaft hat keine Auswirkungen für Systemschriftarten.
Diese Eigenschaft wird auf den gesamten Text in einem UITextField-Objekt angewendet. Es ist nicht möglich, ihn selektiv auf einzelne Zeichen anzuwenden.
Ist der Wert hierfür
Der Flex-Compiler führt die folgenden Coercions durch, wenn er MXML-Code feststellt, der einer Eigenschaft des Typs IDeferredInstance einen Wert zuweist:
<MyComp> <myDeferredInstanceProperty> <Label text="This is a deferred label"/> </myDeferredInstanceProperty> </MyComp>
<MyComp myDeferredInstanceProperty="myPackage.MyClass/>
Verwenden Sie die IDeferredInstance-Schnittstelle, wenn eine ActionScript-Klasse die Instanziierung eines Eigenschaftswerts zurückstellt. Sie können IDeferredInstance nicht verwenden, wenn die ActionScript-Klasse mehrere Instanzen mit dem gleichen Wert erfordert. Verwenden Sie in diesen Fällen die IFactory-Schnittstelle.
Die states.AddChild-Klassen enthält eine
Die eingebettete Vektorgrafik kann eine SVG-Datei sein. Sie können auch ein Sprite-Symbol einbetten, das sich in einer von Flash erzeugten SWF-Datei befindet. In beiden Fällen generiert der MXML-Compiler automatisch eine die SpriteAsset-Klasse erweiternde Klasse zur Repräsentation der eingebetteten Vektorgrafik.
Sie brauchen beim Schreiben einer Flex-Anwendung die SpiritAsset-Klasse normalerweise nicht direkt zu verwenden. Beispiel: Sie können ein Sprite-Symbol von einer SWF-Datei einbetten und es in einem Image-Steuerelement anzeigen, indem Sie Folgendes schreiben:
<mx:Image id="logo" source="@Embed(source='Assets.swf', symbol='Logo')"/>
Alternativ dazu können Sie es in der CSS-Syntax als Hintergrundbild der Anwendung verwenden, indem Sie Folgendes schreiben:
<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx" mx|Application { backgroundImage: Embed(source="Assets.swf", symbol='Logo') } <fx:Style/>
Sie brauchen die Tatsache, dass der MXML-Compiler für Sie eine Unterklasse der BitmapAsset-Klasse erstellt hat, nicht weiter zur verstehen.
Es kann jedoch nützlich sein, dass Sie verstehen, was auf der ActionScript-Ebene abläuft. Zum Einbetten einer Vektorgrafik in ActionScript deklarieren Sie eine Variable des Class-Typs und versehen sie mit
[Bindable] [Embed(source="Assets.swf", symbol="Logo")] private var logoClass:Class;
Der MXML-Compiler stellt fest, dass das Logosymbol in „Assets.swf“ ein Sprite ist. Er generiert zu seiner Darstellung automatisch eine Unterklasse der SpriteAsset-Klasse und stellt Ihre Variable so ein, dass sie einen Verweis auf diese automatisch generierte Klasse darstellt. Sie können diesen Klassenverweis zum Erstellen von Instanzen der SpriteAsset-Klasse mit dem
var logo:SpriteAsset = SpriteAsset(new logoClass()); logo.rotation=45;
Es wird jedoch selten erforderlich sein, dass Sie selbst SpriteAsset-Instanzen erstellen, da bildbezogene Eigenschaften und Stile einfach auf eine bilderzeugende Klasse eingestellt werden können und die Komponenten nach Bedarf Instanzen erstellen. Beispiel: Zur Anzeige dieser Vektorgrafik in einem Image-Steuerelement können Sie die
<mx:Image id="logo" source="{logoClass}"/>
Diese Methode dient hauptsächlich zur Implementierung der
In anderen Fällen sollten Sie
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Die folgenden Flex-Eigenschaften haben Werte, die EdgeMetrics-Objekte sind:
Diese drei Eigenschaften geben alle einen Verweis zum selben EdgeMetrics-Objekt zurück, das der Container für seine Messung und sein Layout verwendet. Sie geben keine Kopie dieses Objekts zurück. Wenn Sie eine Kopie benötigen, rufen Sie die
Diese Methode wird vom Flex-Framework aufgerufen. Entwickler brauchen sie im Normalfall nicht aufzurufen.
Diese Methode wird vom Flex-Framework aufgerufen. Entwickler brauchen sie im Normalfall nicht aufzurufen.
Wenn der Repeater während des Ausführens das Ende des Datenproviders erreicht, liegt die Anzahl der tatsächlichen Ausführungen unter der angeforderten Anzahl.
Nach Abschluss der Ausführung des Repeaters hat diese Eigenschaft den Wert
Nach Abschluss der Ausführung des Repeaters hat diese Eigenschaft den Wert
Wenn Sie die
Sie müssen einen Wert für die
Ist der Wert hierfür
Ist der Wert hierfür
Diese Eigenschaft hat den Standardwert
Die Reihenfolge der untergeordneten DesignLayer hat keine Auswirkungen. Die
Bei einer Aktualisierung wird das entsprechende Change-Ereignis für
Bei einer Aktualisierung wird das entsprechende Change-Ereignis für
Der Player verwendet ActionScript-Klassen, um eingebettete Elemente und ausführbaren ActionScript-Code darzustellen. Wenn Sie ein Element in eine Flex-Anwendung einbetten, generiert der MXML-Compiler automatisch eine Klasse, um sie darzustellen. Solche Klassen deklarieren, dass sie IFlexAsset implementieren, damit sie von Codeklassen unterschieden werden können.
Es liegt kein Fehler vor, wenn die Rahmenskin die IBorder-Schnittstelle nicht implementiert. In diesem Fall kann jedoch der Container, der diese Skin verwendet, die Rahmenmetriken des Rahmens nicht bestimmen. Aus diesem Grund werden Inhalte im Container beginnend von der oberen linken Kante (gegebenenfalls unter Berücksichtigung der Auffüllung) platziert. Bei der HaloBorder-Klasse bestimmt der
<mx:tagname Properties accessibilityDescription="null" accessibilityName="null" accessibilityShortcut="null" accessibilitySilent="true|false" automationName="null" cachePolicy="auto|on|off" currentState="null" doubleClickEnabled="false|true" enabled="true|false" explicitHeight="NaN" explicitMaxHeight="NaN" explicitMaxWidth="NaN" explicitMinHeight="NaN" explicitMinWidth="NaN" explicitWidth="NaN" focusEnabled="true|false" hasFocusableChildren="false|true" height="0" id="" includeInLayout="true|false" maxHeight="10000" maxWidth="10000" measuredHeight= measuredMinHeight= measuredMinWidth= measuredWidth= minHeight="0" minWidth="0" mouseFocusEnabled="true|false" percentHeight="NaN" percentWidth="NaN" scaleX="1.0" scaleY="1.0" states="null" styleName="undefined" toolTip="null" transitions="" validationSubField width="0" x="0" y="0" Styles bottom="undefined" errorColor="0xFF0000" focusBlendMode="normal" focusSkin="HaloFocusRect"" focusThickness="2" horizontalCenter="undefined" layoutDirection="ltr" left="undefined" right="undefined" themeColor="haloGreen" top="undefined" verticalCenter="undefined" Effects addedEffect="No default" creationCompleteEffect="No default" focusInEffect="No default" focusOutEffect="No default" hideEffect="No default" mouseDownEffect="No default" mouseUpEffect="No default" moveEffect="No default" removedEffect="No default" resizeEffect="No default" rollOutEffect="No default" rollOverEffect="No default" showEffect="No default" Events add="No default" creationComplete="No default" currentStateChange="No default" currentStateChanging="No default" dragComplete="No default" dragDrop="No default" dragEnter="No default" dragExit="No default" dragOver="No default" effectEnd="No default" effectStart="No default" enterState="No default" exitState="No default" hide="No default" initialize="No default" invalid="No default" mouseDownOutside="No default" mouseWheelOutside="No default" move="No default" preinitialize="No default" remove="No default" resize="No default" show="No default" toolTipCreate="No default" toolTipEnd="No default" toolTipHide="No default" toolTipShow="No default" toolTipShown="No default" toolTipStart="No default" updateComplete="No default" valid="No default" valueCommit="No default" >]]>
Interaktive Komponenten können an der Navigation mit der Tabulatortaste und anderen Arten der Einstellung des Tastaturfokus beteiligt sein und einfache Ereignisse wie Tastatur- und Mauseingaben akzeptieren. Sie können aber auch deaktiviert werden, sodass Tastatur- und Mauseingaben für sie wirkungslos sind. Im Gegensatz hierzu stehen nicht interaktive Komponenten, wie etwa Label und ProgressBar, die Inhalte einfach nur anzeigen und nicht vom Benutzer manipuliert werden können.
Die UIComponent-Klasse wird nicht als MXML-Tag, sondern als Basisklasse für andere Klassen verwendet.
ToolTip-Ereignisse werden in dieser Reihenfolge ausgelöst:
Wenn Sie einen Effekt mit der
ToolTip-Ereignisse werden in dieser Reihenfolge ausgelöst:
Wenn Sie einen Effekt mit der
ToolTip-Ereignisse werden in dieser Reihenfolge ausgelöst:
Wenn Sie einen Effekt mit der
ToolTip-Ereignisse werden in dieser Reihenfolge ausgelöst:
Wenn Sie einen Effekt mit der
ToolTip-Ereignisse werden in dieser Reihenfolge ausgelöst:
Wenn Sie ein eigenes IToolTip-Objekt erstellen und in der
ToolTip-Ereignisse werden in dieser Reihenfolge ausgelöst:
Das Ereignis ist ein Bubbling-Ereignis, das für das DisplayObject ausgelöst wird, das die Berührungsinteraktion gestartet hat (wo mouseDown/touchBegin stattfand).
Auf Berührungsinteraktionen reagierende Komponenten müssen auf Berührungsinteraktionsereignisse warten, um mit anderen Komponenten zu koordinieren, welcher Typ der Berührungsinteraktion vom Benutzer beabsichtigt wurde und welche Komponente auf diese Berührungsinteraktion reagiert.
Eine Scroller-Komponente löst ein touchInteractionEnd-Ereignis aus, um anderen Komponenten zu signalisieren, dass sie auf die Berührungsinteraktion des Benutzers reagiert hat.
Das Ereignis ist ein Bubbling-Ereignis, das für das DisplayObject ausgelöst wird, das die Berührungsinteraktion gestartet hat (wo mouseDown/touchBegin stattfand).
Auf Berührungsinteraktionen reagierende Komponenten müssen auf Berührungsinteraktionsereignisse warten, um mit anderen Komponenten zu koordinieren, welcher Typ der Berührungsinteraktion vom Benutzer beabsichtigt wurde und welche Komponente auf diese Berührungsinteraktion reagiert.
Eine Scroller-Komponente löst ein touchInteractionStart-Ereignis aus, um anderen Komponenten, die möglicherweise auf dieselbe Berührungsinteraktion des Benutzers reagieren, zu signalisieren, dass sie diese Berührungsinteraktion steuert. Wenn andere Komponenten dieses Ereignis erkennen, müssen sie die Reaktion auf die Berührungsinteraktion abbrechen, visuelle Indikatoren, dass sie auf die Berührungsinteraktion reagieren, entfernen, und weitere Bereinigungsaktionen ausführen.
Das Ereignis ist ein Bubbling-Ereignis, das für das DisplayObject ausgelöst wird, das die Berührungsinteraktion gestartet hat (wo mouseDown/touchBegin stattfand).
Auf Berührungsinteraktionen reagierende Komponenten müssen auf Berührungsinteraktionsereignisse warten, um mit anderen Komponenten zu koordinieren, welcher Typ der Berührungsinteraktion vom Benutzer beabsichtigt wurde und welche Komponente auf diese Berührungsinteraktion reagiert.
Eine Scroller-Komponente löst ein touchInteractionStarting-Ereignis aus, um anderen Komponenten, die möglicherweise auf dieselbe Berührungsinteraktion des Benutzers reagieren, zu signalisieren, dass sie diese Berührungsinteraktion steuern möchte. Damit haben andere Komponenten die Möglichkeit, die Aktion des Scrollers abzubrechen und die Steuerung dieser Berührungsinteraktion zu übernehmen.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Der Effekt führt die letzte Gruppe von visuellen Änderungen aus, bevor dieses Ereignis ausgelöst wird, aber die sich daraus ergebenden Änderungen sind auf dem Bildschirm nicht zu sehen. Das bedeutet, dass sie möglicherweise andere Änderungen mit der
Der Effekt löst dann bei seiner Beendigung das EFFECT_END-Ereignis aus. Der Zweck des EFFECT_STOP-Ereignisses besteht darin, Listenern zu melden, dass der Effekt nicht natürlich abgeschlossen, sondern durch einen Aufruf der
Der Effekt beginnt mit dem Ändern visueller Elemente erst, nachdem dieses Ereignis ausgelöst wurde.
Mit diesem Ereignis können Sie eine letzte Bereinigung des Drag & Drop-Vorgangs durchführen. Beispielsweise können Sie ein List-Steuerelement von einer Liste in eine andere ziehen und dann das List-Steuerelement in der Quelle löschen, wenn Sie es nicht mehr benötigen.
Wenn Sie
Sie verwenden diese Ereignisprozedur, um die gezogenen Daten dem Ablageziel hinzuzufügen.
Wenn Sie
Mit diesem Ereignis stellen Sie die normale Darstellung des Ablageziels wieder her, wenn diese durch das
In der Prozedur können Sie die Darstellung des Ablageziels ändern, um dem Benutzer eine visuelle Rückmeldung zu geben, dass diese Komponente ein gültiges Ablageziel darstellt. Beispielsweise können Sie einen Rahmen um das Ablageziel zeichnen oder dem Ablageziel den Fokus zuzuweisen.
Konfigurieren Sie dieses Ereignis so, dass vor dem Ablegen eine zusätzliche Logik ausgeführt wird. Dabei kann es sich beispielsweise um das Ablegen von Daten am Ablageziel handeln, das Lesen von Tastatureingaben, um zu bestimmen, ob die gezogenen Daten verschoben oder kopiert werden, oder um verschiedene visuelle Rückmeldungen, die von der Art der Drag & Drop-Aktion abhängen.
Sie können außerdem die Art der Drag-Aktion durch Ändern der
Damit dies ein gültiges Ablageziel darstellt, definieren Sie eine Prozedur für dieses Ereignis. In der Prozedur können Sie die Darstellung des Ablageziels ändern, um dem Benutzer eine visuelle Rückmeldung zu geben, dass diese Komponente ein gültiges Ablageziel darstellt. Beispielsweise können Sie einen Rahmen um das Ablageziel zeichnen oder dem Ablageziel den Fokus zuzuweisen.
Um die gezogenen Daten zu akzeptieren, rufen Sie die
In Flash Player ist der Wert der
In AIR ist der Standardwert der
Durch die Art und Weise, wie Daten zu einem Tree-Steuerelement strukturiert sind, verarbeitet das Tree-Steuerelement Drag & Drop anders als die anderen listenbasierten Steuerelemente. Für das Tree-Steuerelement führt die Ereignisprozedur für das
Da dieses Ereignis durch eine programmgesteuerte Änderung ausgelöst wird, müssen Sie sicherstellen, dass keine
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Sie können die Größe einer Komponente ändern, indem Sie die
Die
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Sie können die Komponente verschieben, indem Sie die
Wenn Sie die
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Nach der Initialisierungsphase werden Eigenschaften verarbeitet, die Komponente wird gemessen und das Layout festgelegt und gezeichnet. Danach wird das
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Dies ist die letzte Möglichkeit zum Ändern der Komponente, bevor sie angezeigt wird. Alle Eigenschaften wurden übernommen, die Komponente wurde gemessen und das Layout festgelegt.
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Zu diesem Zeitpunkt ist die Komponente in Abhängigkeit von ihrer
Dieses Ereignis wird nur ausgelöst, wenn an das auslösende Objekt ein oder mehr entsprechende Listener angehängt sind.
Vor jeder Bildschirmaktualisierung rufen Flash Player oder AIR den Satz Funktionen auf, die für die Aktualisierung geplant sind. In manchen Fällen sollte eine Funktion in der nächsten Aktualisierung aufgerufen werden, um den Rest des Codes, der für die gegenwärtige Aktualisierung geplant ist, auszuführen. Manche Features, wie beispielsweise Effekte, können die Ausführung von Funktionen in der Warteschlange verzögern, bis das Feature abgeschlossen ist.
Hierbei gibt die
Sie können diese Methode nicht direkt aufrufen. Flex ruft die
Manche Komponenten haben Eigenschaften, die sich auf die Anzahl und die Arten der von ihnen zu erstellenden untergeordneten Objekte auswirken. Oder sie haben Eigenschaften, die miteinander interagieren, wie etwa die Eigenschaften
Eine Komponente, die andere Komponenten oder Objekte in sich selbst erstellt, wird als „zusammengesetzte Komponente“ bezeichnet. Dies trifft beispielsweise dann zu, wenn das Flex ComboBox-Steuerelement tatsächlich aus einem TextInput-Steuerelement zum Definieren des Textbereichs der ComboBox und einem Schaltflächen-Steuerelement zum Definieren des ComboBox-Pfeils zusammengesetzt ist. Komponenten implementieren die
Sie rufen aus der Überschreibung der
Sie können diese Methode nicht direkt aufrufen. Flex ruft die
Mit dieser Methode wird ein Zugriffsproblem für Schriftarten gelöst, die in eine Anwendungs-SWF eingebettet sind, wenn das Framework als RSL geladen wird (die RSL hat einen eigenen SWF-Kontext). Der Zugriff auf eingebettete Schriftarten kann nur von dem SWF-Dateikontext aus erfolgen, in dem sie erstellt wurden. Durch Verwendung des Kontexts der Anwendungs-SWF kann die RSL Objekte im SWF-Anwendungskontext erstellen, der Zugriff auf die eingebetteten Schriftarten der Anwendung hat.
Rufen Sie diese Methode erst auf, wenn die Schriftstile für dieses Objekt festgelegt sind.
UIComponent implementiert dies durch Erstellen und Platzieren einer Instanz der durch den
Das Rechteck kann abgerundet sein. Die Kanten werden mit dem aktuellen Linienstil des Graphics-Objekts gezeichnet. Es kann eine einfarbige Füllung, eine Farbverlaufsfüllung oder keine Füllung haben. Für eine einfarbige Füllung kann eine Alphatransparenz festgelegt sein. Eine Farbverlaufsfüllung kann linear oder radial sein. Sie können bis zu 15 Farben und Alphawerte an bestimmten Punkten entlang des Farbverlaufs und einen Drehwinkel oder eine Transformationsmatrix für den Farbverlauf angeben. Schließlich kann sich innerhalb des Rechtecks eine Aussparung in Form eines abgerundeten Rechtecks befinden.
Diese vielseitige Routine zum Zeichnen von Rechtecken wird von vielen Skins verwendet. Sie ruft die
Diese Methode wird normalerweise von Anwendungsentwicklern nicht verwendet.
Diese Methode wird normalerweise von Layouts während des Aufrufs der
Diese Matrix wird normalerweise durch die Transformationseigenschaften der Komponente definiert, wie etwa
Diese Matrix wird normalerweise durch die 2D-Eigenschaften der Komponente, wie etwa
Mit dieser Methode wird eine beliebige Stileigenschaft abgerufen. Es kann also ein boolescher Wert, ein String, eine Zahl, eine Ganzzahl, eine vorzeichenlose Ganzzahl (für eine RGB-Farbe), eine Klasse (für eine Skin) oder ein beliebiges Objekt zurückgegeben werden. Deshalb wird als Rückgabetyp einfach nur ~~ angegeben.
Wenn Sie eine bestimmte Stileigenschaft abrufen, kennen Sie ihren Typ und möchten das Ergebnis häufig in einer Variable dieses Typs speichern. Es ist keine Umwandlung von ~~ in diesen Typ erforderlich.
Wenn die Stileigenschaft in der Stilsuchkette nicht festgelegt wurde, lautet der Rückgabewert der
Beachten Sie, dass Spark-Komponenten ihren Skinstatus als Pseudostatus verwenden. Halo-Komponenten verwenden die
Zur Verbesserung der Leistung wird die Matrix in einer statischen Variablen gespeichert, die bei jedem Aufruf von
Diese Methode wird zuletzt ausgeführt, wenn Sie eine Komponente einem übergeordneten Element zum ersten Mal mit
Diese Methode wird von der
Mit einem MXML
Dies ist eine interne Methode, die automatisch durch das Flex-Framework aufgerufen wird. Es braucht nicht aufgerufen oder überschrieben zu werden.
Das Initialisieren einer UIComponent ist der vierte Schritt bei der Erstellung einer visuellen Komponenteninstanz. Er wird automatisch ausgeführt, wenn die Instanz dem übergeordneten Element das erste Mal hinzugefügt wird. Daher brauchen Sie die
Für den ersten Schritt bei der Erstellung einer visuellen Komponenteninstanz verwenden Sie den
var okButton:Button = new Button();
Die erstellte Button-Instanz ist ein einzelnes DisplayObject, dem noch kein UITextField zur Beschriftung untergeordnet und auch kein anderes Element übergeordnet ist.
Im zweiten Schritt konfigurieren Sie die Eigenschaften, Stile und Ereignisprozeduren für die neu erstellte Instanz:
okButton.label = "OK"; okButton.setStyle("cornerRadius", 0); okButton.addEventListener(MouseEvent.CLICK, clickHandler);
Der dritte Schritt besteht darin, die Instanz einem übergeordneten Element hinzuzufügen:
someContainer.addChild(okButton);
Wird
Diese Methode löst ein
Beachten Sie, dass die Erstellung der internen Struktur dadurch ausgelöst wird, dass die Komponente dem übergeordneten Element zum ersten Mal hinzugefügt wird. Wenn die interne Struktur andere UIComponents enthält, ist dies ein rekursiver Prozess, bei dem der DisplayObjects-Baum jeweils um einen Blattknoten erweitert wird.
Wenn Sie eine Komponente schreiben, brauchen Sie diese Methode nicht zu überschreiben.
Die Invalidierung ist ein nützlicher Mechanismus, um doppelte Arbeit zu vermeiden, indem die Verarbeitung der Änderungen einer Komponente bis zu einer späteren Bildschirmkomponente verschoben wird. Wenn Sie beispielsweise die Breite und Höhe ändern möchten, wäre es ineffizient, die Komponente sofort nach der Änderung der Breite und dann nochmals nach der Änderung der Höhe zu aktualisieren. Zuerst sollten die beiden Eigenschaften geändert und dann die Komponente mit der neuen Größe gerendert werden.
Invalidierungsmethoden werden selten aufgerufen. Im Allgemeinen wird durch Einstellen einer Komponenteneigenschaft automatisch die entsprechende Invalidierungsmethode aufgerufen.
Die Invalidierung ist ein nützlicher Mechanismus, um doppelte Arbeit zu vermeiden, indem die Verarbeitung der Änderungen einer Komponente bis zu einer späteren Bildschirmkomponente verschoben wird. Wenn Sie beispielsweise die Textfarbe und die Schriftgröße ändern möchten, wäre es ineffizient, die Farbe sofort nach der Textänderung zu aktualisieren und dann nochmals nach der Änderung der Größe. Zuerst sollten die beiden Eigenschaften geändert und dann der Text mit der neuen Größe und Farbe gerendert werden.
Invalidierungsmethoden werden selten aufgerufen. Im Allgemeinen wird durch Einstellen einer Komponenteneigenschaft automatisch die entsprechende Invalidierungsmethode aufgerufen.
Die Invalidierung ist ein nützlicher Mechanismus, um doppelte Arbeit zu vermeiden, indem die Verarbeitung der Änderungen einer Komponente bis zu einer späteren Bildschirmkomponente verschoben wird. Wenn Sie beispielsweise den Text und die Schriftgröße ändern möchten, wäre es ineffizient, den Text sofort nach der Textänderung zu aktualisieren und dann nochmals nach der Änderung der Größe. Zuerst sollten die beiden Eigenschaften geändert und dann der Text und der neuen Größe gerendert werden.
Invalidierungsmethoden werden selten aufgerufen. Im Allgemeinen wird durch Einstellen einer Komponenteneigenschaft automatisch die entsprechende Invalidierungsmethode aufgerufen.
Beachten Sie, dass Spark-Komponenten ihren Skinstatus als Pseudostatus verwenden. Halo-Komponenten verwenden die
Sie können diese Methode nicht direkt aufrufen. Flex ruft die
Wenn Sie eine bestimmte Höhe und Breite für die Komponente einstellen, ruft Flex die
Für die Überschreibung dieser Methode müssen Sie die Eigenschaften
Die meisten Komponenten berechnen diese Werte anhand des Inhalts, den sie darstellen, und der Eigenschaften, die sich auf die Darstellung des Inhalts auswirken. Einige Komponenten verfügen einfach über fest kodierte Standardwerte.
In einigen Fällen gibt es keine natürliche Art zur Bestimmung der Standardwerte. Beispielsweise kann eine einfache GreenCircle-Komponente in der
Die Standardimplementierung von
Wenn Sie die
Diese Methode wird normalerweise von Anwendungsentwicklern nicht verwendet.
Das Flex-Framework ruft diese Methode in folgenden Situationen auf:
Das Erstellen des Stylecache ist ein rechenintensiver Vorgang. Ändern Sie also
Diese Methode wird nicht aufgerufen, wenn Sie einen Instanzstil mit der
Sie brauchen diese Methode nicht aufzurufen oder zu überschreiben.
Dieses Ereignis wird ausgelöst, wenn Sie die
Unterklassen sollten diese Methode überschreiben und nach dem Aufruf von
Weitere Informationen finden Sie in der Beschreibung zu
Hinweis: Wenn der Fokus mit dieser Methode festgelegt wird, werden nur TextInput- und TextArea-Steuerelemente hervorgehoben. Alle Steuerelemente werden hervorgehoben, wenn der Benutzer durch Drücken der Tabulatortaste zu einem Steuerelement wechselt.
Aufrufe der
Wenn die
Aufrufe der
Diese Matrix wird normalerweise durch die Transformationseigenschaften der Komponente definiert, wie etwa
Beachten Sie, dass die Layout-Matrix3D in
Die Matrix wird normalerweise mit den 2D-Eigenschaften der Komponente wie
Beachten Sie, dass die Layout-Matrix in
Dieser Stil kann einen global festgelegten Stil überschreiben.
Der Aufruf der
Dies ist eine erweiterte Methode, die Sie bei der Erstellung einer UIComponent-Unterklasse überschreiben können. Wenn Sie eine benutzerdefinierte Komponente erstellen, können Sie die
Bei einer Stileigenschaft muss Ihre Überschreibung der
Dies ist eine erweiterte Methode, die Sie bei der Erstellung einer UIComponent-Unterklasse überschreiben können. Flex garantiert, dass die Stile Ihrer Komponente vollständig initialisiert werden, bevor die
Diese Methoden können bei zeitkritischem Code nützlich sein, der ohne Unterbrechung ausgeführt werden muss. Wenn Sie beispielsweise die
Da der LayoutManager
Sowohl eine äußere als auch eine innere Methode (d. h. die von äußeren Methoden aufgerufene Methode) können
Sie können diese Methode nicht direkt aufrufen. Flex ruft die
Bei Komponenten ohne untergeordnete Elemente verwenden Sie hier das programmgesteuerte Zeichnen mit Methoden der Grafikobjekte einer Komponente wie
Bei Komponenten mit untergeordneten Elementen rufen Sie hier die
Komponenten können programmgesteuert zeichnen, auch wenn sie untergeordnete Objekte haben. Verwenden Sie dabei die Eigenschaften
Es ist wichtig, dass Sie die Eigenschaften
Normalerweise verwalten Sie die
Zur Verbesserung der Leistung wird die Matrix in einer statischen Variablen gespeichert, die bei jedem Aufruf von
Die Get-Methode gibt einfach
Beachten Sie, dass
Die Get-Methode gibt einfach
Die Get-Methode gibt einfach
Die Get-Methode gibt einfach
Diese Eigenschaft dient der Implementierung des
Bei Komponenten ist diese Eigenschaft zur Begrenzung des Layouts eine Fassade (facade) über dem ähnlich benannten Stil. Legen Sie mit der @Clear()-Direktive in MXML oder dem Wert
Standardmäßig entspricht das Ankerziel dem oberen Rand des Inhaltsbereichs im Container. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungszeile sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „row1:10“.
Bei Komponenten ist diese Eigenschaft zur Begrenzung des Layouts eine Fassade (facade) über dem ähnlich benannten Stil. Legen Sie mit der @Clear()-Direktive in MXML oder dem Wert
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungszeile sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „row1:10“.
Mögliche Werte in ActionScript sind
Dieser String enthält nicht den Paketnamen. Wenn Sie den Paketnamen ebenfalls benötigen, rufen Sie die
Wenn Sie den Status einer Komponente mit dieser Eigenschaft einstellen, wendet Flex den von Ihnen definierten Übergang an. Sie können auch die
Die
Sie können die
Um den Überprüfungsfehler zu löschen, schreiben Sie einen leeren String ("") in die
Beachten Sie, dass beim Schreiben eines Werts in die
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Die Einstellung der
Normalerweise legen Anwendungsentwickler die explicitMaxHeight-Eigenschaft nicht fest. Stattdessen legen sie den Wert der maxHeight-Eigenschaft fest, der die explicitMaxHeight-Eigenschaft einstellt. Der Wert von maxHeight wird nicht geändert.
Wurde maxHeight explizit vom Anwendungsentwickler festgelegt, wird zum Zeitpunkt der Layouterstellung explicitMaxHeight verwendet. Andernfalls wird der Standardwert für maxHeight verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Normalerweise legen Anwendungsentwickler die explicitMaxWidth-Eigenschaft nicht fest. Stattdessen legen sie den Wert der maxWidth-Eigenschaft fest, der die explicitMaxWidth-Eigenschaft einstellt. Der Wert von maxWidth wird nicht geändert.
Wurde maxWidth explizit vom Anwendungsentwickler festgelegt, wird zum Zeitpunkt der Layouterstellung explicitMaxWidth verwendet. Andernfalls wird der Standardwert für maxWidth verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Normalerweise legen Anwendungsentwickler die explicitMinHeight-Eigenschaft nicht fest. Stattdessen legen sie den Wert der minHeight-Eigenschaft fest, der die explicitMinHeight-Eigenschaft einstellt. Der Wert von minHeight wird nicht geändert.
Wurde minHeight explizit vom Anwendungsentwickler festgelegt, wird zum Zeitpunkt der Layouterstellung explicitMinHeight verwendet. Andernfalls wird der Wert von measuredMinHeight verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Normalerweise legen Anwendungsentwickler die explicitMinWidth-Eigenschaft nicht fest. Stattdessen legen sie den Wert der minWidth-Eigenschaft fest, der die explicitMinWidth-Eigenschaft einstellt. Der Wert von minWidth wird nicht geändert.
Wurde minWidth explizit vom Anwendungsentwickler festgelegt, wird zum Zeitpunkt der Layouterstellung explicitMinWidth verwendet. Andernfalls wird der Wert von measuredMinWidth verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Die Einstellung der
Der Standardwert ist
Hinweis: Diese Eigenschaft ähnelt der von Flash Player verwendeten
Diese Eigenschaft ist normalerweise
Normalerweise ist dieses Flag nur für Navigatorkomponenten wie TabNavigator und Accordion auf
Der Standardwert ist
Verwenden Sie
Hinweis: Sie können im MXML
Durch Festlegen dieser Eigenschaft wird ein
Bei Komponenten ist diese Eigenschaft zur Begrenzung des Layouts eine Fassade (facade) über dem ähnlich benannten Stil. Legen Sie mit der @Clear()-Direktive in MXML oder dem Wert
Das standardmäßige Ankerziel ist der Container selbst.
In Layouts mit erweiterten Beschränkungen kann das Ankerziel eine Beschränkungsspalte sein. Dann entspricht der Inhaltsbereich dem Raum zwischen der vorherigen Spalte (oder Containerseite) und der Zielspalte.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „constraintColumnId:value“ ein. Beispiel: „col1:10“.
Wenn die Anwendung mit Werkzeugen eines anderen Herstellers getestet werden soll, weisen Sie jeder Komponente eine aussagekräftige ID zu. Testwerkzeuge verwenden IDs zur Darstellung von Steuerelementen in den Skripten. Mit aussagekräftigen Namen können Skripte daher leichter gelesen werden. Verwenden Sie beispielsweise für eine Schaltfläche submit_button statt b1 oder button1.
Bei Komponenten ist diese Eigenschaft zur Begrenzung des Layouts eine Fassade (facade) über dem ähnlich benannten Stil. Legen Sie mit der @Clear()-Direktive den statusspezifischen Wert für die Eigenschaft in MXML auf den Standardwert
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungsspalte sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „col1:10“.
Mit dieser Eigenschaft legt der Komponentenentwickler eine Höchstgrenze für die Höhe der Komponente fest.
Überschreibt der Anwendungsentwickler den Standardwert von maxHeight, wird der neue Wert in explicitMaxHeight gespeichert. Der Standardwert von maxHeight wird nicht geändert. Wurde maxHeight explizit vom Anwendungsentwickler festgelegt, wird daher zum Zeitpunkt der Layouterstellung als empfohlener Höchstwert für die Höhe der Komponente der Wert von explicitMaxHeight verwendet. Wird maxHeight nicht explizit vom Benutzer eingestellt, wird der Standardwert verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Mit dieser Eigenschaft legt der Komponentenentwickler eine Höchstgrenze für die Breite der Komponente fest.
Überschreibt der Anwendungsentwickler den Standardwert von maxWidth, wird der neue Wert in explicitMaxWidth gespeichert. Der Standardwert von maxWidth wird nicht geändert. Wurde maxWidth explizit vom Anwendungsentwickler festgelegt, wird daher zum Zeitpunkt der Layouterstellung als empfohlener Höchstwert für die Breite der Komponente der Wert von explicitMaxWidth verwendet. Wird maxWidth nicht explizit vom Benutzer eingestellt, wird der Standardwert verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Legt der Anwendungsentwickler den Wert von minHeight fest, wird der neue Wert in explicitMinHeight gespeichert. Der Standardwert von minHeight wird nicht geändert. Wurde minHeight explizit vom Anwendungsentwickler festgelegt, wird daher zum Zeitpunkt der Layouterstellung als empfohlener Mindestwert für die Höhe der Komponente der Wert von explicitMinHeight verwendet. Wird minHeight nicht explizit vom Anwendungsentwickler eingestellt, wird der Wert von measuredMinHeight verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Legt der Anwendungsentwickler den Wert von minWidth fest, wird der neue Wert in explicitMinWidth gespeichert. Der Standardwert von minWidth wird nicht geändert. Wurde minWidth explizit vom Anwendungsentwickler festgelegt, wird daher zum Zeitpunkt der Layouterstellung als empfohlener Mindestwert für die Breite der Komponente der Wert von explicitMinWidth verwendet. Wird minWidth nicht explizit vom Anwendungsentwickler eingestellt, wird der Wert von measuredMinWidth verwendet.
Dieser Wert wird vom Container beim Berechnen von Größe und Position der Komponente verwendet. Er wird nicht von der Komponente selbst zum Bestimmen der Standardgröße verwendet. Daher hat diese Eigenschaft möglicherweise keine Wirkung, wenn das übergeordnete Element einem oder mehreren Container(n) entspricht, die diese Eigenschaft nicht berücksichtigen. Da der Wert in Komponentenkoordinaten angegeben wird, wird die tatsächliche
Der Standardwert ist
Die
Das Durchlaufen einer Anwendungskette mithilfe der
Für das Application-Objekt ist die
Sie ist als Objekt typisiert, sodass Autoren Eigenschaften und Methoden auf übergeordneten Dokumentobjekten ohne Konvertieren zugreifen können.
Diese Eigenschaft gibt nur dann einen numerischen Wert zurück, wenn die Eigenschaft zuvor eingestellt wurde. Der Wert spiegelt nicht die exakte Größe der Komponente in Prozent wider.
Für das UITextField-Steuerelement ist diese Eigenschaft immer auf NaN eingestellt.
Wenn diese Eigenschaft bei Spark-Layouts verwendet wird, wird mit ihrer Hilfe die Höhe der Komponentengrenzen nach Skalierung und Drehung berechnet. Beispiel: Wenn die Komponente bei 90 Grad gedreht wird, wirkt sich die Festlegung von
Diese Eigenschaft gibt nur dann einen numerischen Wert zurück, wenn die Eigenschaft zuvor eingestellt wurde. Der Wert spiegelt nicht die exakte Größe der Komponente in Prozent wider.
Für das UITextField-Steuerelement ist diese Eigenschaft immer auf NaN eingestellt.
Wenn diese Eigenschaft bei Spark-Layouts verwendet wird, wird mit ihrer Hilfe die Breite der Komponentengrenzen nach Skalierung und Drehung berechnet. Beispiel: Wenn die Komponente bei 90 Grad gedreht wird, wirkt sich die Festlegung von
Wenn beispielsweise ein Accordion-Container eine verzögerte Instanziierung verwendet, nimmt die
Für Klassen, die keine Container sind und die keine Deskriptoren aufweisen, wird dies auf
Die Eigenschaft wird auf -1 gesetzt, wenn diese UIComponent nicht durch einen Repeater erstellt wird.
Das erste Element im Array entspricht dem äußersten Repeater. Wenn
Beachten Sie, dass sich diese Eigenschaft von der
Die Eigenschaft wird auf
Bei Komponenten ist diese Eigenschaft zur Begrenzung des Layouts eine Fassade (facade) über dem ähnlich benannten Stil. Legen Sie mit der @Clear()-Direktive in MXML oder dem Wert
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungsspalte sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „col1:10“.
Der Standardwert ist 1,0, d. h. das Objekt wird nicht skaliert. Ein
Der Wert 0,0 ist ungültig. Setzen Sie den Wert nicht auf 0,0, sondern auf einen niedrigen Wert, oder legen Sie für die
Der Standardwert ist 1,0, d. h. das Objekt wird nicht skaliert. Ein
Der Wert 0,0 ist ungültig. Setzen Sie den Wert nicht auf 0,0, sondern auf einen niedrigen Wert, oder legen Sie für die
Eine Skalierung entlang der z-Achse wirkt sich normalerweise nicht auf flache Komponenten aus, die sich in der Ebene z=0 befinden. Sie betrifft nur Komponenten, auf deren untergeordnete Elemente eine 3D-Transformation angewendet wurde, oder Komponenten mit einem anderen transformZ-Wert als null.
Der Standardwert ist 1,0, d. h. das Objekt wird nicht skaliert.
Diese Eigenschaft wird während der Berechnung von 2D-Layouts in Flex ignoriert.
Manche Steuerelemente erzwingen ein Erscheinen ihrer untergeordneten Elemente in der Hierarchie, wenn erforderlich. Beispiel: Eine Liste zwingt Elementrenderer, einschließlich Felder, immer in der Hierarchie zu erscheinen. Implementierer müssen das Ändern dieser Einstellungen auf
Ist dies ein String, entspricht er dem Namen von einem oder mehreren durch Leerzeichen getrennten Klassendeklarationen in einem
Wenn es sich um einen IStyleClient (normalerweise eine UIComponent) handelt, werden alle Stile im
Ähnlich der von Flash Player verwendeten
Dieses Flag ist normalerweise für Komponenten, die Tastatureingaben verarbeiten können, auf
Bei Komponenten ist diese Eigenschaft zur Begrenzung des Layouts eine Fassade (facade) über dem ähnlich benannten Stil. Legen Sie mit der @Clear()-Direktive in MXML oder dem Wert
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungszeile sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „row1:10“.
Wenn diese Komponente das Ziel eines Spark-Transformationseffekts ist, können Sie diese Eigenschaft überschreiben, indem Sie die
Durch Festlegen dieser Eigenschaft bei der Spark Effect-Klasse wird die Eigenschaft der Zielkomponente überschrieben.
Wenn diese Komponente das Ziel eines Spark-Transformationseffekts ist, können Sie diese Eigenschaft überschreiben, indem Sie die
Durch Festlegen dieser Eigenschaft bei der Spark Effect-Klasse wird die Eigenschaft der Zielkomponente überschrieben.
Wenn diese Komponente das Ziel eines Spark-Transformationseffekts ist, können Sie diese Eigenschaft überschreiben, indem Sie die
Durch Festlegen dieser Eigenschaft bei der Spark Effect-Klasse wird die Eigenschaft der Zielkomponente überschrieben.
Wird verwendet, um den EffectManager davon zu benachrichtigen, dass bestimmte Eigenschaften dieses Objekts getweent werden, damit der EffectManger nicht versucht, die gleichen Eigenschaften zu animieren.
Flex kann UIDs automatisch erstellen und verwalten. Unter Umständen müssen Sie jedoch eine eigene
Bei Komponenten ist diese Eigenschaft zur Begrenzung des Layouts eine Fassade (facade) über dem ähnlich benannten Stil. Legen Sie mit der @Clear()-Direktive in MXML oder dem Wert
Das standardmäßige Ankerziel ist der Container selbst.
In Layouts mit erweiterten Beschränkungen kann das Ankerziel eine Beschränkungszeile sein. Dann entspricht der Inhaltsbereich dem Raum zwischen der vorherigen Zeile (oder Containerseite) und der Zielzeile.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „constraintColumnId:value“ ein. Beispiel: „row1:10“.
Bei Festlegung auf
Hinweis: Sie können im MXML
Durch Festlegen dieser Eigenschaft wird ein
Das direkte Einstellen dieser Eigenschaft oder das Aufrufen von
Das direkte Einstellen dieser Eigenschaft oder das Aufrufen von
Für die meisten Komponenten sind keine 3D-Transformationseigenschaften eingestellt.
Diese Layoutmatrix wird mit den Werten der
Jede Eigenschaft des transform-Objekts ist selbst wiederum ein Objekt. Dies ist wichtig, da für matrix- und colorTransform-Objekte neue Werte nur gesetzt werden können, indem ein neues Objekt erstellt und in die transform.matrix- oder transform.colorTransform-Eigenschaft kopiert wird.
Um etwa den tx-Wert einer Anzeigeobjekt-Matrix zu erhöhen, müssen Sie eine Kopie des gesamten Matrixobjekts anfertigen und anschließend das neue Objekt in die matrix-Eigenschaft des transform-Objekts kopieren:
var myMatrix:Matrix = myUIComponentObject.transform.matrix; myMatrix.tx += 10; myUIComponent.transform.matrix = myMatrix;Sie können die tx-Eigenschaft nicht direkt setzen. Der folgende Code hat keine Auswirkung auf myUIComponent:
myUIComponent.transform.matrix.tx += 10;
Beachten Sie, dass die
Die einzubettende Bitmap kann als JPEG-, GIF- oder PNG-Datei vorliegen. Sie können auch ein Bitmap-Symbol einbetten, das sich in einer von Flash erzeugten SWF-Datei befindet. In jedem dieser Fälle generiert der MXML-Compiler automatisch eine Klasse, die die BitmapAsset-Klasse erweitert, um die eingebettete Schriftart zu repräsentieren.
Sie brauchen beim Schreiben einer Flex-Anwendung die BitmapAsset-Klasse normalerweise nicht direkt zu verwenden. Beispiel: Sie können eine GIF-Datei einbetten und das Bild in einem Image-Steuerelement anzeigen, indem Sie Folgendes schreiben:
<mx:Image id="logo" source="@Embed(source='Logo.gif')"/>
Alternativ dazu können Sie es in der CSS-Syntax als Hintergrundbild der Anwendung verwenden, indem Sie Folgendes schreiben:
<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx" mx|Application { backgroundImage: Embed(source="Logo.gif") } <fx:Style/>
Sie brauchen die Tatsache, dass der MXML-Compiler für Sie eine Unterklasse der BitmapAsset-Klasse erstellt hat, nicht weiter zur verstehen.
Es kann jedoch nützlich sein, dass Sie verstehen, was auf der ActionScript-Ebene abläuft. Zum Einbetten einer Bitmap in ActionScript deklarieren Sie eine Variable des Class-Typs und versehen sie mit
[Bindable] [Embed(source="Logo.gif")] private var logoClass:Class;
Der MXML-Compiler erkennt die GIF-Erweiterung, transkodiert die GIF-Daten in das vom Player verwendete Bitmap-Format, generiert automatisch eine Unterklasse der BitmapAsset-Klasse und stellt Ihre Variable so ein, dass sie einen Verweis auf diese automatisch generierte Klasse darstellt. Sie können diesen Klassenverweis zum Erstellen von Instanzen der BitmapAsset-Klasse mit dem
var logo:BitmapAsset = BitmapAsset(new logoClass()); logo.bitmapData.noise(4);
Es wird jedoch selten erforderlich sein, dass Sie selbst BitmapAsset-Instanzen erstellen, da bildbezogene Eigenschaften und Stile einfach auf eine bilderzeugende Klasse eingestellt werden können und die Komponenten nach Bedarf Instanzen erstellen. Beispiel: Zur Anzeige dieses Bilds in einem Image-Steuerelement können Sie die
<mx:Image id="logo" source="{logoClass}"/>
Diese Methode dient hauptsächlich zur Implementierung der
In anderen Fällen sollten Sie
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Sie geben eine
Die
Die ClassFactory-Klasse implementiert die IFactory-Schnittstelle. Mit dieser Schnittstelle können Sie daher Objekte erstellen, die Eigenschaften des Typs IFactory zugewiesen werden können. Dazu zählen beispielsweise die
Sie können beispielsweise eine Elementrenderer-Klasse namens ProductRenderer mit der
var productRenderer:ClassFactory = new ClassFactory(ProductRenderer); productRenderer.properties = { showProductImage: true }; myList.itemRenderer = productRenderer;
Das List-Steuerelement ruft die
Die Konfiguration von Instanzen mit der
<mx:List id="myList" itemRenderer="ProductRenderer">
Der MXML-Compiler erstellt die ClassFactory-Instanz automatisch.
Diese Methode implementiert die
Wenn Sie beispielsweise
Stellt die
Dieser String ist der mit einer Ganzzahl verkettete Name der Klasse des Objekts, der innerhalb der Anwendung eindeutig ist, wie etwa
Weitere Informationen zu diesen Parametern finden Sie unter den Canvas- und Panel-Containern und unter der Beschreibung der Stilmetadaten für AnchorStyles.
Weitere Informationen zu diesen Parametern finden Sie unter den Canvas- und Panel-Containern und unter der Beschreibung der Stilmetadaten für AnchorStyles.
Diese Methode implementiert die
Dies dient der Lösung mithilfe der in einer Anwendungs-SWF eingebetteten Schriftarten, wenn das Framework als eine RSL geladen wird (die RSL hat ihren eigenen SWF-Kontext). Der Zugriff auf eingebettete Schriftarten darf nur von dem SWF-Dateikontext aus erfolgen, in dem sie erstellt wurden. Durch Verwendung des
Die von Ihnen eingebetteten Byte-Daten können sich in einer Datei eines beliebigen Typs befinden und es wird immer die vollständige Datei eingebettet. Es ist nicht möglich, die Byte eines bestimmten Bestands, der sich in einer SWF-Datei befindet, einzubetten, obwohl eine vollständige SWF-Datei eingebettet werden kann.
Der MXML-Compiler generiert automatisch eine Klasse, die die ByteArrayAsset-Klasse zur Darstellung der eingebetteten Daten erweitert.
Wenn Sie eine beliebige Datei einbetten möchten, deklarieren Sie eine Variable des Typs Klasse und versehen sie mit
[Bindable] [Embed(source="Story.txt", mimeType="application/octet-stream")] private var storyClass:Class;
Der Compiler generiert automatisch eine Unterklasse der ByteArrayAsset-Klasse und stellt Ihre Variable so ein, dass sie einen Verweis auf diese automatisch generierte Klasse darstellt. Sie können diesen Klassenverweis zum Erstellen von Instanzen der ByteArrayAsset-Klasse mithilfe des
var storyByteArray:ByteArrayAsset = ByteArrayAsset(new storyClass()); var story:String = storyByteArray.readUTFBytes(storyByteArray.length);
Sie müssen angeben, dass der MIME-Typ für die Einbettung
Beispiel: Wenn Sie eine PNG-Datei einbetten, ohne diesen MIME-Typ anzugeben, werden die PNG-Daten automatisch in das vom Player verwendete Bitmap-Format transkodiert und es wird automatisch eine Unterklasse der BitmapAsset-Klasse generiert, um sie darzustellen. Wenn Sie jedoch den MIME-Typ als
Die meisten Tags in einer MXML-Datei beschreiben eine aus UIComponent-Objekten bestehende Baumstruktur. Beispiel: Das
Der MXML-Compiler kompiliert jedes dieser MXML-Tags in einer UIComponentDescriptor-Instanz. Genauer gesagt, generiert der MXML-Compiler automatisch eine ActionScript-Datenstruktur, welche eine Baumstruktur bestehend aus UIComponentDescriptor-Objekten ist.
Während der Laufzeit verwendet die
Sie erstellen UIComponentDescriptor-Instanzen normalerweise nicht selbst. Sie können auf diejenigen zugreifen, die der MXML-Compiler automatisch mithilfe des
Betrachten Sie beispielsweise, was passiert, wenn Sie folgenden Code schreiben:
<mx:TextInput showEffect="Fade" hideEffect="Fade"/>
Die
Die
Beachten Sie, dass die Werte der Effektattribute nicht in dieser Eigenschaft festgelegt werden. Stattdessen werden Effekte wie Stile behandelt und sind deshalb in der
Diese Eigenschaft wird von der Container-Methode
Betrachten Sie beispielsweise, was passiert, wenn Sie folgenden Code schreiben:
<mx:TextInput borderColor="0x888888" color="0xDDDDDD"/>
Die
function():void { this.borderColor = 0x888888; this.color = 0xDDDDDD };
Die
Stellt die
Dieser String ist der mit einer Ganzzahl verkettete Name der Klasse des Objekts, welcher innerhalb der Anwendung eindeutig ist, wie etwa
Stellt die
Dieser String ist der mit einer Ganzzahl verkettete Name der Klasse des Objekts, welcher innerhalb der Anwendung eindeutig ist, wie etwa
Die von Ihnen eingebettete Schriftart kann TrueType (TTF) oder OpenType (OTF) sein. Sie können auch eine Systemschriftart oder eine in einer von Flash erzeugten SWF-Datei befindliche Schriftart einbetten. In jedem dieser Fälle generiert der MXML-Compiler automatisch eine Klasse, die die FontAsset-Klasse erweitert, um die eingebettete Schriftart zu repräsentieren.
Normalerweise verwenden Sie beim Schreiben einer Flex-Anwendung die FontAsset-Klasse nicht direkt. Beispiel: Sie können eine Schriftart mithilfe des
Es kann jedoch nützlich sein, dass Sie verstehen, was auf der ActionScript-Ebene abläuft. Zum Einbetten einer Schriftart in ActionScript deklarieren Sie eine Variable des Typs Klasse und versehen sie mit
[Embed(source="Fancy.ttf", fontName="Fancy")] var fancyClass:Class;
Der MXML-Compiler transkodiert die TTF-DAten in das vom Player verwendete Schriftartformat, generiert automatisch eine Unterklasse der FontAsset-Klasse und stellt Ihre Variable so ein, dass sie einen Verweis auf diese automatisch generierte Klasse darstellt. Sie können diesen Klassenverweis zum Erstellen von Instanzen von FontAsset mithilfe des
var fancyFont:FontAsset = FontAsset(new fancyClass()); var hasDigits:Boolean = fancyFont.hasGlyphs("0123456789");
Es kommt jedoch selten vor, dass Sie FontAsset-Instanzen selbst erstellen müssen, da Sie als Verweis auf die Schriftart den
<mx:Label text="Thank you for your order." fontFamily="Fancy"/>
Wenn ein DesignLayer zugewiesen wird, müssen visuelle Elemente Sichtbarkeit und Alpha ihrer übergeordneten Ebene berücksichtigen, wenn sie ihre eigenen Werte für effektive Sichtbarkeit oder Alpha an ihr Basis-DisplayObject übergeben (sofern zutreffend).
Visuelle Elemente müssen auf
Legen Sie diese Eigenschaft in MXML nicht direkt fest.
Die
Diese Eigenschaft wird nicht von Flex, sondern von jeder Komponente selbst verwaltet. Wenn Sie also die
Standardmäßig ist dies der Wert der
Wenn Sie beispielsweise das Layout eines Objekts anpassen möchten, das um 90 Grad gedreht wird, legen Sie die
Ist ein Objekt nicht sichtbar, aber die
Wenn
Wird
Stellt die
Dieser String ist der mit einer Ganzzahl verkettete Name der Klasse des Objekts, der innerhalb der Anwendung eindeutig ist, wie etwa
Hinweis:Verwenden Sie diese Eigenschaft nicht in Flex. Verwenden Sie stattdessen die
Diese Klasse ist zur Vollständigkeit in Flex enthalten, sodass jede Art von Symbol in einer mit Flash erstellten SWF-Datei in eine Flex-Anwendung eingebettet werden kann. Flex-Anwendungen verwenden jedoch normalerweise keine eingebetteten TextFields. Weitere Informationen zur Funktionsweise von eingebetteten Elementen in Flex finden Sie bei häufiger verwendeten Bestandsklassen wie etwa der BitmapAsset-Klasse.
Diese Methode dient hauptsächlich zur Implementierung der
In anderen Fällen sollten Sie
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Für Komponenten, die UIComponent erweitern, bedeutet dies, dass
Für Komponenten, die UIComponent erweitern, bedeutet dies, dass
Für Komponenten, die UIComponent erweitern, bedeutet dies, dass
Wenn Eigenschaften geändert werden, wirken sich die neuen Werte nicht sofort auf die Komponente aus. Normalerweise wird der vollständige Programmcode der Anwendung ausgeführt, der zu diesem Zeitpunkt ausgeführt werden muss. Danach startet der LayoutManager den Aufruf der Methoden
Beispielsweise wird das Festlegen der
Sehen Sie sich beispielsweise die Container-Klasse an. Sie überschreibt DisplayObjectContainer-APIs wie die
Ein weiteres Beispiel ist die SystemManager-Klasse. Sie ist ein DisplayObjectContainer, dessen untergeordnete Objekte in verschiedene Ebenen unterteilt: normale untergeordnete Objekte wie die Anwendung sind unten, Popups darüber, QuickInfos wiederum darüber und Cursors an oberster Stelle angeordnet. Die SystemManager-Klasse hat Eigenschaften mit den Namen
Das Hinzufügen eines untergeordneten Objekts an einer anderen Position als dem Ende der Child-Liste führt dazu, dass die Indexpositionen von untergeordneten Objekten, die zuvor diese oder eine höhere Indexposition innehatten, erhöht.
Der Aufruf von
Das erste untergeordnete Objekt in der Child-Liste hat die Indexposition 0, das zweite die Indexposition 1 und das letzte die Indexposition
Gibt
Wenn Sie ein untergeordnetes Objekt durch Aufruf der
Sie können ein untergeordnetes Objekt mithilfe der
Wenn Sie ein untergeordnetes Objekt durch Aufruf der
Wenn Sie die Indexposition eines untergeordneten Objekts durch Aufruf der
Das Entfernen eines untergeordneten Objekts von einer anderen Position als dem Ende der Child-Liste führt dazu, dass sich die Indexpositionen aller untergeordneten Objekte an höheren Indexpositionen verringern.
Das übergeordnete Objekt des entfernten untergeordneten Objekts wird auf „null“ gesetzt, und das untergeordnete Objekt selbst wird gelöscht, wenn kein anderer Verweis darauf vorhanden ist.
Das Entfernen eines untergeordneten Objekts von einer anderen Position als dem Ende der Child-Liste führt dazu, dass sich die Indexpositionen aller untergeordneten Objekte an höheren Indexpositionen verringern.
Das übergeordnete Objekt des entfernten untergeordneten Objekts wird auf „null“ gesetzt, und das untergeordnete Objekt selbst wird gelöscht, wenn kein anderer Verweis darauf vorhanden ist.
Folgende Werte sind möglich:
Wenn für einen Container keine
Diese Klasse ist zur Vollständigkeit in Flex enthalten, sodass jede Art von Symbol in einer mit Flash erstellten SWF-Datei in eine Flex-Anwendung eingebettet werden kann. Flex-Anwendungen verwenden jedoch normalerweise keine eingebetteten SimpleButtons. Weitere Informationen zur Funktionsweise von eingebetteten Elementen in Flex finden Sie bei häufiger verwendeten Bestandsklassen wie etwa der BitmapAsset-Klasse.
Diese Methode dient hauptsächlich zur Implementierung der
In anderen Fällen sollten Sie
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
function set myProperty(value:Object):void { var oldValue:IPropertyChangeNotifier = _myProperty; var newValue:IPropertyChangeNotifier = value; // Need to ensure to dispatch changes on the new property. // Listeners use the source property to determine which object // actually originated the event. // In their event handler code, they can tell if an event has been // propagated from deep within the object graph by comparing // event.target and event.source. If they are equal, then the property // change is at the surface of the object. If they are not equal, the // property change is somewhere deeper in the object graph. newValue.addEventListener( PropertyChangeEvent.PROPERTY_CHANGE, dispatchEvent); // need to stop listening for events from the old property oldValue.removeEventListener( PropertyChangeEvent.PROPERTY_CHANGE, dispatchEvent); _myProperty = newValue; // now notify anyone that is listening if (dispatcher.hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE)) { var event:PropertyChangeEvent = PropertyChangeEvent.createUpdateEvent( this, "myProperty", newValue, oldValue); dispatchEvent(event); } }
Beachten Sie, dass die Spark SkinnableDataContainer- und DataGroup-Container diese Schnittstelle nicht implementieren. Diese Container verwalten ihre untergeordneten Objekte mithilfe der
Wenn Sie ein visuelles Element hinzufügen, das bereits einem anderen Container untergeordnet ist, wird es aus dem anderen Container entfernt.
Wenn Sie ein visuelles Element hinzufügen, das bereits einem anderen Container untergeordnet ist, wird es aus dem anderen Container entfernt.
Wenn Sie die
Wird ein visuelles Element an eine niedrigere Indexposition verschoben, erhöht sich die Indexposition aller Elemente zwischen der aktuellen und der neuen Position des Elements um 1. Wenn ein Element an eine Indexposition verschoben wird, die höher als die aktuelle Indexposition ist, wird die Indexposition von allen Elementen dazwischen um 1 verringert.
Diese Methode wird vom Flex-Framework aufgerufen. Entwickler brauchen sie im Normalfall nicht aufzurufen.
Diese Eigenschaft unterscheidet sich von
Komponenten, die in einem Elementrenderer oder einem Elementeditor in einem Listensteuerelement (wie etwa List, HorizontalList, TileList, DataGrid und Tree) oder als Renderer in einem Diagramm verwendet werden, erhalten die Daten zum Rendern oder Bearbeiten unter Verwendung der
In einem Listensteuerelement stellt Flex die
Um diese Schnittstelle zu implementieren, definieren Sie eine Set- und Get-Methode zur Implementierung der
// Internal variable for the property value. private var _data:Object; // Make the data property bindable. [Bindable("dataChange")] // Define the getter method. public function get data():Object { return _data; } // Define the setter method, and dispatch an event when the property // changes to support data binding. public function set data(value:Object):void { _data = value; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); }
Der Standardwert ist 0. Dies ist ein Spezialfall und bedeutet eine unbegrenzte Anzahl.
Flex scannt den String von links nach rechts. Sie können mithilfe eines Bindestrichs (-) einen Zeichenbereich angeben. Wenn der String mit dem Einfügezeichen (^) beginnt, werden anfänglich alle Zeichen akzeptiert, aber nachfolgende Zeichen im String werden nicht in die Liste der zulässigen Zeichen aufgenommen. Wenn der String nicht mit dem Einfügezeichen (^) beginnt, werden anfänglich keine Zeichen akzeptiert, aber nachfolgende Zeichen im String werden in die Liste der zulässigen Zeichen aufgenommen.
Da in der
Alle HTML-Tags im Textstring werden ignoriert und so angezeigt, wie sie in den String geschrieben wurden. Verwenden Sie die Eigenschaft
Um die Sonderzeichen spitze Klammer links „<“, spitze Klammer rechts „>“ oder das Und-Zeichen „&“ innerhalb des Texts verwenden zu können, schließen Sie den Text in CDATA-Tags ein. Sie können alternativ auch HTML-Zeichenentitäten für Sonderzeichen verwenden wie z. B.
Wenn Sie versuchen, diese Eigenschaft auf
Diese Methode dient hauptsächlich zur Implementierung der
In anderen Fällen sollten Sie
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Je höher die Zahl, um so höher ist die Priorität des Ereignis-Listeners. Alle Listener mit der Priorität
Prioritäten können positiv, 0 oder negativ sein. Die Standardpriorität ist 0.
Sie sollten keinen Code schreiben, der von numerischen Werten dieser Konstanten abhängt. Diese numerischen Werte können sich in zukünftigen Flex-Versionen ändern.
Beispiel: Eine DataGridColumn hat einen
Stellt die
Dieser String ist der mit einer Ganzzahl verkettete Name der Klasse des Objekts, welcher innerhalb der Anwendung eindeutig ist, wie etwa
Diese Eigenschaft dient der Implementierung des
Stellt die
Dieser String ist der mit einer Ganzzahl verkettete Name der Klasse des Objekts, welcher innerhalb der Anwendung eindeutig ist, wie etwa
Jedes Datenformat wird mit einem String identifiziert. Mit der
Daten können mit der
Listenbasierte Steuerelemente haben vordefinierte Werte für den
Stellt die
Das Überschreiben der Standardzuordnungen von Flex ist normalerweise nur für Geräte notwendig, die ihre screenDPI falsch melden, und für Geräte, die in einer anderen DPI-Klasse besser skalieren.
Die Standardzuordnungen von Flex lauten wie folgt:
Unterklassen von RuntimeDPIProvider sollten nur von Laufzeit-APIs und nicht von Klassen, die sich auf das Flex-Framework beziehen, außer
Diese Methode wird normalerweise von Layouts während des Aufrufs der
Diese Matrix wird normalerweise durch die Transformationseigenschaften der Komponente definiert, wie etwa
Diese Matrix wird normalerweise durch die 2D-Eigenschaften der Komponente, wie etwa
Aufrufe der
Wenn die
Aufrufe der
Diese Matrix wird normalerweise durch die Transformationseigenschaften der Komponente definiert, wie etwa
Beachten Sie, dass die Layout-Matrix3D in
Die Matrix wird normalerweise mit den 2D-Eigenschaften der Komponente wie
Beachten Sie, dass die Layout-Matrix in
Diese Eigenschaft dient der Implementierung des
Jede Komponente sollte diese Eigenschaft überschreiben.
Standardmäßig entspricht das Ankerziel dem oberen Rand des Inhaltsbereichs im Container. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungszeile sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „row1:10“.
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungszeile sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „row1:10“.
Verwenden Sie
Das standardmäßige Ankerziel ist der Container selbst.
In Layouts mit erweiterten Beschränkungen kann das Ankerziel eine Beschränkungsspalte sein. Dann entspricht der Inhaltsbereich dem Raum zwischen der vorherigen Spalte (oder Containerseite) und der Zielspalte.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „constraintColumnId:value“ ein. Beispiel: „col1:10“.
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungsspalte sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „col1:10“.
Diese Eigenschaft gibt nur dann einen numerischen Wert zurück, wenn die Eigenschaft zuvor eingestellt wurde. Der Wert spiegelt nicht die exakte Größe der Komponente in Prozent wider.
Diese Eigenschaft gibt nur dann einen numerischen Wert zurück, wenn die Eigenschaft zuvor eingestellt wurde. Der Wert spiegelt nicht die exakte Größe der Komponente in Prozent wider.
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungsspalte sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „col1:10“.
Standardmäßig entspricht das Ankerziel dem Inhaltsbereich des Containers. In Layouts mit erweiterten Beschränkungen kann das Ziel eine Beschränkungszeile sein.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „anchorTargetName:value“ ein. Beispiel: „row1:10“.
Das standardmäßige Ankerziel ist der Container selbst.
In Layouts mit erweiterten Beschränkungen kann das Ankerziel eine Beschränkungszeile sein. Dann entspricht der Inhaltsbereich dem Raum zwischen der vorherigen Zeile (oder Containerseite) und der Zielzeile.
Mit dem Einstellen der Eigenschaft auf eine Zahl oder einen numerischen String wie „10“ wird die Verwendung des standardmäßigen Ankerziels festgelegt.
Um ein Ankerziel anzugeben, stellen Sie den Eigenschaftswert auf einen String im Format „constraintColumnId:value“ ein. Beispiel: „row1:10“.
Vermeiden Sie möglichst die Verwendung der
Wenn beispielsweise ein Navigator-Container wie etwa TabNavigator diese
Mit dieser
Die UITextField-Klasse erweitert die flash.text.TextField-Klasse zur Unterstützung zusätzlicher Funktionen, die von Flex benötigt werden, beispielsweise folgende: CSS-Stile, Invalidierung/Messung/Layout, Aktivierung/Deaktivierung, QuickInfos und IME-Unterstützung (Input Method Editor) für die Eingabe chinesischen, japanischen und koreanischen Textes.
Warnung: Wenn UITextField
Die UITextFormat-Klasse erweitert die TextFormat-Klasse zum Hinzufügen der Textmessungsmethoden
Diese Method wird zwar von der IUIComponent-Schnittstelle benötigt, hat jedoch für ein UITextField keine Auswirkung.
Dieser String enthält nicht den Paketnamen. Wenn Sie den Paketnamen ebenfalls benötigen, rufen Sie die
Die flash.system.IMEConversionMode-Klasse definiert Konstanten für gültige Werte dieser Eigenschaft. Sie können auch
Diese Eigenschaft wird nicht von Flex, sondern von jeder Komponente selbst verwaltet. Wenn Sie also die
Standardmäßig ist dies der Wert der
Der von Ihnen eingebettete MovieClip muss ein Movie-Clip-Symbol in einer SWF-Datei sein. Ein häufiger Grund für die Verwendung eines eingebetteten Movie-Clips besteht darin, dass Sie eine bildbasierte Anwendung in Flash erstellt haben und diese in einer Flex-Anwendung verwenden möchten. Der MXML-Compiler generiert automatisch eine Klasse, die die MovieClipAsset-Klasse zur Darstellung der eingebetteten Animation erweitert.
Normalerweise brauchen Sie beim Schreiben einer Flex-Anwendung die MovieClipAsset-Klasse nicht direkt zu verwenden. Sie können eine Movie-Clip-Animation beispielsweise als Hintergrundbild einer Anwendung verwenden, indem Sie folgendes schreiben:
<mx:Application backgroundImage="@Embed(source='Assets.swf', symbol='BackgroundAnimation')"/>
oder
<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx" mx|Application { backgroundImage: Embed(source="Assets.swf", symbol="BackgroundAnimation") } <fx:Style/>
ohne verstehen zu müssen, dass der MXML-Compiler für Sie eine Unterklasse der MovieClipAsset-Klasse erstellt hat.
Es kann jedoch nützlich sein, dass Sie verstehen, was auf der ActionScript-Ebene abläuft. Zum Einbetten eines Movie-Clips in ActionScript deklarieren Sie eine Variable des Typs Klasse und versehen sie mit
[Bindable] [Embed(source="Assets.swf", symbol="BackgroundAnimation")] private var backgroundAnimationClass:Class;
Der MXML-Compiler stellt fest, dass das BackgroundAnimation-Symbol in Assets.swf ein Movie-Clip ist. Er generiert zu seiner Darstellung automatisch eine Unterklasse der MovieClipAsset-Klasse und stellt Ihre Variable so ein, dass sie einen Verweis auf diese automatisch generierte Klasse darstellt. Sie können diesen Klassenverweis zum Erstellen von Instanzen von MovieClipAsset mithilfe des
var backgroundAnimation:MovieClipAsset = MovieClipAsset(new backgroundAnimationClass()); var n:int = backgroundAnimation.totalFrames;
Es wird jedoch selten erforderlich sein, dass Sie selbst MovieClipAsset-Instanzen erstellen, da bildbezogene Eigenschaften und Stile auf eine bilderzeugende Klasse eingestellt werden können und die Komponenten nach Bedarf Instanzen erstellen. Beispiel: Zum Einstellen des Anwendungshintergrunds auf diese Animation können Sie einfach Folgendes schreiben:
<mx:Application backgroundImage="{backgroundAnimationClass}"/>
Diese Methode dient hauptsächlich zur Implementierung der
In anderen Fällen sollten Sie
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Dies wird in der Regel für grafische Skins fest einprogrammiert, weil diese Zahl einfach die Anzahl von Pixeln in der Grafik ist. Bei Code-Skins kann dies auch fest programmiert sein, wenn Sie erwarten, dass das Objekt in einer bestimmten Größe gezeichnet wird. Wenn sich die Größe je nach Eigenschaften ändern kann, empfiehlt sich auch ein ILayoutManagerClient, damit eine
Der eingebettete Sound kann das Format einer MP3-Datei haben. Sie können auch ein Soundsymbol einbetten, das sich in einer von Flash erzeugten SWF-Datei befindet. In beiden Fällen generiert der MXML-Compiler automatisch eine die die SoundAsset-Klasse erweiternde Klasse zur Repräsentation der eingebetteten Sounddaten.
Sie brauchen beim Schreiben einer Flex-Anwendung die SoundAsset-Klasse normalerweise nicht direkt zu verwenden. Beispiel: Sie können eine MP3-Datei einbetten und in einem SoundEffect verwenden, indem Sie einfach Folgendes schreiben:
<mx:SoundEffect id="beep" source="@Embed(source='Beep.mp3')"/>
Sie brauchen die Tatsache, dass der MXML-Compiler für Sie eine Unterklasse der SoundAsset-Klasse erstellt hat, nicht weiter zur verstehen.
Es kann jedoch nützlich sein, dass Sie verstehen, was auf der ActionScript-Ebene abläuft. Zum Einbetten einer Bitmap in ActionScript deklarieren Sie eine Variable des Class-Typs und versehen sie mit
[Bindable] [Embed(source="Beep.mp3")] private var beepClass:Class;
Der MXML-Compiler erkennt die MP3-Erweiterung, transkodiert die MP3-Daten in das vom Player verwendete Soundformat, generiert automatisch eine Unterklasse der SoundAsset-Klasse und stellt Ihre Variable so ein, dass sie einen Verweis auf diese automatisch generierte Klasse darstellt. Sie können diesen Klassenverweis zum Erstellen von Instanzen der SoundAsset-Klasse mit dem
var beepSound:SoundAsset = SoundAsset(new beepClass()); beepSound.play();
Es ist jedoch selten erforderlich, dass Sie SoundAsset-Instanzen selbst erstellen, da soundbezogene Eigenschaften und Stile einfach auf eine sounderzeugende Klasse eingestellt werden können und die Komponenten Sound-Instanzen nach Bedarf erstellen. Beispiel: Zur Wiedergabe dieses Sounds mit einem SoundEffect können Sie die
<mx:SoundEffect id="beepEffect" source="{beepClass}"/>
Das Aufrufen der
Ein ordnungsgemäß funktionierendes Modul löst ein
Sie können diese Methode nicht direkt aufrufen. Diese Methode wird von untergeordneten Module-Factorys aufgerufen, wenn sie eine RSL in die Anwendungsdomäne der jeweiligen Module-Factory laden.
Sie können eine optionale Gruppe von Parametern bereitstellen, damit Building Factories abhängig von der Eingabe andere Elemente erstellen können. Bei Übergabe von
return {"description": "This module returns 42."};Weitere allgemeine Werte im zurückgegebenen Objekt sind beispielsweise folgende:
Die meisten Tags in einer MXML-Datei beschreiben eine aus UIComponent-Objekten bestehende Baumstruktur. Beispiel: Das
Der MXML-Compiler kompiliert jedes dieser MXML-Tags in einer UIComponentDescriptor-Instanz. Genauer gesagt, generiert der MXML-Compiler automatisch eine ActionScript-Datenstruktur, welche eine Baumstruktur bestehend aus UIComponentDescriptor-Objekten ist.
Während der Laufzeit verwendet die
Sie erstellen ComponentDescriptor- oder UIComponentDescriptor-Instanzen normalerweise nicht selbst. Sie können auf diejenigen zugreifen, die der MXML-Compiler automatisch mithilfe des
Beispiel:
<mx:DataGrid id="dg" initialize="fetchData(); initDataGrid();" change="changeHandler(event);"/>
In diesem Beispiel entspricht die
{ initialize: "__dg_initialize", change: "__dg_change" }
Die
Die Strings
public function __dg_initialize(event:mx.events.FlexEvent):void { fetchData(); initDataGrid(); }
Automatisch generierte Ereignisprozeduren werden nicht immer durch Namen angegeben. Dies kann sich jedoch in zukünftigen Flex-Versionen ändern.
Diese Eigenschaft wird von der Container-Methode
Beispiel:
<mx:TextInput id="firstName" text="Enter your first name here"/>
In diesem Beispiel entspricht die
Die
Der Wert der
Wenn eine
Beispiel:
<mx:TextInput width="150" text="Hello">
In diesem Beispiel entspricht die
function():Object { return { width: 150, text: "Hello" }; }
Die
Statt eines tatsächlichen Objekts wird die Funktion
Die
Hinweis: Ereignisprozeduren wie
Beispiel:
<mx:TextInput/>
In diesem Beispiel entspricht die
Die Eigenschaft ist für vom MXML-Compiler erstellte ComponentDescriptor-Objekte nie
Die Zuordnung des MXML-Tags zur entsprechenden Klasse wird durch den XML-Namespace und ggf. durch dessen Manifestdatei bestimmt. Der durch mx: prefix dargestellte Flex-Standardnamespace
<component id="TextInput" class="mx.controls.TextInput"/>
in dieser Datei ordnet den Tag-Namen mx:TextInput der Klasse mx.controls.TextInput zu. Beachten Sie, dass bei Verwendung einer Manifestdatei Komponenten in einem einzigen XML-Namespace Klassen in mehreren ActionScript-Paketen zugeordnet werden können.
Beispiel:
<mx:TextInput width="150" text="Hello"/>
In diesem Beispiel entspricht die
{ width: 150, text: "Hello" }
Die
Dieses Objekt wird erzeugt, indem die von der