Eine Unterklasse der SkinnableComponent-Klasse muss diese Methode überschreiben, um einen Wert zurückzugeben.
<s:Range>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Range Properties maximum="100" minimum="0" snapInterval="1" stepSize="1" value="0" />]]>
Die Range-Klasse ist eine Basisklasse für verschiedene Steuerelemente, für die Bereichsfunktionalität erforderlich ist, einschließlich TrackBase und Spinner.
Wenn
Die für einen Bereich gültigen Werte sind durch die Summe der
Wenn beispielsweise
Alle Aktualisierungen der
Diese Methode geht davon aus, dass der Aufrufer bereits die
Änderungen an der value-Eigenschaft sind von
Änderungen an der value-Eigenschaft sind von
Beispiel: Wenn
Wenn der Wert dieser Eigenschaft null ist, müssen die gültigen Werte zwischen dem Mindest- und Höchstwert (einschließlich) liegen.
Durch diese Eigenschaft werden auch gültige Werte für die
Änderungen an der value-Eigenschaft sind von
<s:ToggleButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ToggleButtonBase Properties selected="false" events change="No default" />]]>
<s:ItemRenderer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ItemRenderer Properties autoDrawBackground="true" selected="false" showsCaret="false" />]]>
Elementrenderer unterstützen optionale Anzeigestatus. Normalerweise werden Anzeigestatus in MXML-Elementrenderern verwendet, um das Aussehen eines Datenelements, basierend auf Benutzerinteraktion mit dem Element, zu steuern. Die ItemRenderer-Klasse unterstützt alle Anzeigestatus, sodass diese Elementrenderer mit listenbasierten Klassen verwendet werden können.
Flex definiert die folgenden Anzeigestatus, die im Elementrenderer unterstützt werden können:
Wenn der Benutzer mit einem Steuerelement interagiert, sodass der Anzeigestatus des Elementrenderers geändert wird, bestimmt Flex zuerst, ob der Renderer diesen Anzeigestatus definiert. Wenn der Elementrenderer den Anzeigestatus unterstützt, stellt Flex den Elementrenderer so ein, dass dieser Anzeigestatus verwendet wird. Wenn der Renderer den Anzeigestatus nicht unterstützt, führt Flex keine Aktion durch.
Eine Unterklasse von ItemRenderer muss diese Methode überschreiben, um einen Wert zurückzugeben, wenn das gewünschte Verhalten vom Standardverhalten abweicht.
In Flex 4.0 waren die 3 Hauptstatus „normal“, „hovered“ und „selected“. Flex 4.5 hat zusätzlich „down“ und „downAndSelected“.
Die folgenden Status werden unterstützt (nach Priorität sortiert):
Wenn
Bei
Die Hostkomponente des Elementrenderers kann mithilfe der
Für Steuerelemente wie „List“ und „ButtonBar“ können Sie mithilfe der Eigenschaften
<s:GroupBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GroupBase Properties autoLayout="true" clipAndEnableScrolling="false" horizontalScrollPosition="null" luminosityClip="false" luminosityInvert="false" layout="BasicLayout" mask="" maskType="clip" mouseEnabledWhereTransparent="true" resizeMode="noScale" verticalScrollPosition="no default" Styles accentColor="0x0099FF" alignmentBaseline="useDominantBaseline" alternatingItemColors="undefined" baselineShift="0" blockProgression="tb" breakOpportunity="auto" cffHinting="horizontalStem" chromeColor="0xCCCCCC" color="0x000000" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" clearFloats="none" digitCase="default" digitWidth="default" direction="ltr" disabledAlpha="0.5" dominantBaseline="auto" firstBaselineOffset="auto" focusColor="0x70B2EE" focusedTextSelectionColor="A8C6EE" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" inactiveTextSelectionColor="E8E8E8" justificationRule="auto" justificationStyle="auto" kerning="auto" leadingModel="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="cff" rollOverColor="0xCEDBEF" symbolColor="0x000000" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="interWord" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="0xE8E8E8" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" />]]>
Wenn das Layoutobjekt noch nicht eingestellt wurde, weist createChildren() diesem Container ein Standardlayoutobjekt, BasicLayout, zu.
Die Implementierung ruft
Die Implementierung ruft
Wenn das zurückzugebende Element nicht bereits ein sichtbares untergeordnetes Element war, d. h., wenn es erstellt oder recycelt wurde, und entweder eltWidth oder eltHeight angegeben wird, wird die anfängliche Größe des Elements vor der Überprüfung mit setLayoutBoundsSize() festgelegt. Dies ist für Komponenten wie Text wichtig, die nach Anpassung des Layouts an die Breite oder Höhe der Gruppe neu umbrochen werden.
Das zurückgegebene Layoutelement ist validiert.
Mit dieser Methode werden Layoutelemente bei Bedarf erstellt oder „recycelt“ und validiert.
Diese Methode kann nicht direkt aufgerufen werden, sondern wird von Layouts aufgerufen, die die Virtualisierung unterstützen.
Der Maskentyp. Mögliche Werte sind
Schnittmasken
Beim Maskieren im Schnittmodus wird die Schnittmaske auf 1 Bit reduziert. Das bedeutet, dass die Maske die Deckkraft eines Pixels des Quellinhalts nicht beeinflusst. Entweder bleibt der Wert unverändert, wenn das entsprechende Pixel der Maske einen Alphawert ungleich null hat, oder es wird voll transparent, wenn der Wert des Maskenpixels einen Alphawert von null hat.
Alphamasken
Im Alphamodus wird die Deckkraft eines jeden Pixels des Quellinhalts mit der Deckkraft des entsprechenden Bereichs der Maske multipliziert. D. h., ein Pixel des Quellinhalts mit einer Deckkraft von 1, das mit einem Bereich mit der Deckkraft 5 maskiert ist, hat im Ergebnis eine Deckkraft von 5. Ein Quellpixel mit einer Deckkraft von 0,8, das mit einem Bereich mit der Deckkraft 0,5 maskiert ist, hat im Ergebnis eine Deckkraft von 0,4.
Luminanzmasken
Eine Luminanzmaske, manchmal digitale Maske genannt, funktioniert ganz ähnlich wie eine Alphamaske, außer dass sowohl die Deckkraft als auch der RGB-Farbwert der Pixel des Quellinhalts mit der Deckkraft und dem RGB-Farbwert des entsprechenden Bereichs der Maske multipliziert wird.
Luminanzmasken stehen nicht originär in Flash zur Verfügung, sondern in Tools wie Adobe Illustrator und Adobe Photoshop. Um bei Inhalten, die in Flash wiedergegeben werden, die visuelle Wirkung einer Luminanzmaske zu erzielen, instanziieren Grafikelemente, die eine Luminanzmaske angeben, einen Shaderfilter, der das Aussehen einer Luminanzmaske in Adobe Creative Suite-Tools imitiert.
Von Luminanzmasken maskierte Objekte können Eigenschaften zur Steuerung der RGB-Farbwerte und der Beschneidung der Maske festlegen. Weitere Informationen finden Sie bei den Attributen luminosityInvert und luminosityClip.
Hinweis: Behalten Sie dieses Objekt nicht bei, da die Gruppe dieses bei Bedarf zerstört und erstellt.
Der Standardwert ist
Verknüpfen Sie eine Skinklasse mit einer Komponentenklasse, indem Sie die
MyComponent { skinClass: ClassReference("my.skins.MyComponentSkin") }
Im folgenden Beispiel wird die
<MyComponent skinClass="my.skins.MyComponentSkin"/>
Diese Methode instanziiert die Skin für die Komponente, fügt die Skin als untergeordnete Komponente der Komponente hinzu und löst alle Teilezuordnungen für die Skin auf
Unterklassen der SkinnableComponent-Klasse überschreiben diese Methode normalerweise nicht.
Unterklassen der SkinnableComponent-Klasse überschreiben diese Methode normalerweise nicht.
Eine Unterklasse der SkinnableComponent-Klasse muss diese Methode überschreiben, um einen Wert zurückzugeben.
Überschreiben Sie diese Funktion, um dem Teil ein bestimmtes Verhalten zuzuweisen. Wenn Sie das Verhalten in Bezug auf einen Skinteil überschreiben möchten, das von einer Basisklasse vererbt wurde, rufen Sie nicht die
Überschreiben Sie diese Funktion, um das Verhalten vom Teil zu entfernen.
Neben der
Beim Kürzen von Text wird überlanger Text durch Kürzungszeichen ersetzt, wie z. B. „...“. Das verwendete Kürzungszeichen ist regionsabhängig. Es wird mit der „truncationIndicator“-Ressource in der „core“-Ressourcengruppe angegeben.
Wenn
Wenn
Wenn
Es wird nur dann eine Kürzung ausgeführt, wenn der
Beim Kürzen von Text wird überlanger Text durch Kürzungszeichen ersetzt, wie z. B. „...“. Das verwendete Kürzungszeichen ist regionsabhängig. Es wird mit der „truncationIndicator“-Ressource in der „core“-Ressourcengruppe angegeben.
Wenn der Wert 0 ist, erfolgt keine Kürzung. Stattdessen wird der Text einfach gekürzt, wenn er nicht in die Grenzen der Komponente passt.
Wenn der Wert eine positive Ganzzahl ist, wird falls erforderlich der Text gekürzt, um die Anzahl der Zeilen auf diese Ganzzahl zu reduzieren.
Wenn der Wert -1 ist, wird der Text so gekürzt, dass so viele Zeilen angezeigt werden, wie vollständig in die Höhe der Komponente passen.
Es wird nur dann eine Kürzung ausgeführt, wenn der
Die Formatierung dieses Texts wird von CSS-Stilen gesteuert. Die unterstützten Stile richten sich nach der Unterklasse.
<s:ScrollBarBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ScrollBarBase Properties pageSize="20" snapInterval="1" viewport="null" Styles autoThumbVisibility="true" fixedThumbSize="false" repeatDelay="500" repeatInterval="35" smoothScrolling="true" symbolColor="0x000000" />]]>
Dieses Steuerelement erweitert die TrackBase-Klasse und entspricht der Basisklasse für die Steuerelemente „HScrollBar“ und „VScrollBar“.
Eine Bildlaufleiste besteht aus einer Leiste, einem Bildlauffeld variabler Größe und zwei optionalen Pfeilschaltflächen. Die ScrollBarBase-Klasse verwendet vier Parameter, um den Anzeigestatus zu berechnen:
Ist der
Diese Eigenschaft wird beim Bewegen der Bildlaufleiste aktualisiert, selbst wenn
Die VScrollBar- und HScrollBar-Klassen überschreiben diese Methoden, damit die zugehörigen
Beispiel: Wenn
Wenn der Wert dieser Eigenschaft null ist, müssen die gültigen Werte zwischen dem Mindest- und Höchstwert (einschließlich) liegen.
Durch diese Eigenschaft werden auch gültige Werte für die
<s:ButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ButtonBase Properties autoRepeat="false" content="null" label="" stickyHighlighting="false" Events buttonDown="No default" Styles alignmentBaseline="USE_DOMINANT_BASELINE" cffHinting="HORIZONTAL_STEM" color="0" cornerRadius="4" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlpha="0.5" focusColor="0x70B2EE" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" locale="en" renderingMode="CFF" repeatDelay="500" repeatInterval="35" textAlign="START" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" wordSpacing="100%" />]]>
Diese Methode wird aufgerufen, um
Die
Wenn die Beschriftung breiter als das ButtonBase-Steuerelement ist, wird sie gekürzt und endet mit einer Ellipse (...). Die vollständige Beschriftung erscheint als QuickInfo, sobald der Benutzer den Mauszeiger über das Steuerelement bewegt. Wenn Sie mit der
Dies ist die standardmäßige ButtonBase-Eigenschaft.
Diese Eigenschaft ist eine Fassade der
<s:TrackBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TrackBase Styles slideDuration="300" Events change="No default" changing="No default" thumbDrag="No default" thumbPress="No default" thumbRelease="No default" />]]>
TrackBase-Unterklassen müssen diese Methode überschreiben und Konvertierungen unter Berücksichtigung der eigenen Geometrie durchführen. Beispielsweise könnte eine vertikale Schiebereglerleiste folgendermaßen einen Wert berechnen:
return (y / track.height) (maximum - minimum);
Durch diese Methode wird standardmäßig
Die meisten Unterklassen überschreiben diese Methode, um die Größe, Position und Sichtbarkeit des Schiebereglers bzw. des Bildlauffelds zu aktualisieren, basierend auf den
Der Aufruf dieser Methode hat standardmäßig keine Auswirkungen.
<s:SliderBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SliderBase Properties dataTipFormatFunction="20" dataTipPrecision="2" maximum="10" showDataTip="true" Styles alignmentBaseline="USE_DOMINANT_BASELINE" baselineShift="0.0" cffHinting="HORIZONTAL_STEM" color="0" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlph="0.55" focusColor="0xFFFFFF" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" liveDragging="true" local="en" renderingMode="CFF" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" />]]>
Die Funktion hat folgende Signatur:
funcName(value:Number):Object
Im folgenden Beispiel wird dem Datentipptext ein Dollarzeichen vorangestellt und der Text wird mit
import mx.formatters.NumberBase; function myDataTipFormatter(value:Number):Object { var dataFormatter:NumberBase = new NumberBase(".", ",", ".", ""); return "$ " + dataFormatter.formatPrecision(String(value), slide.dataTipPrecision); }
Ist der
Diese Eigenschaft wird beim Bewegen des Schiebereglers aktualisiert, selbst wenn
Sie schreiben Skinklassen normalerweise in MXML, wie im folgenden Beispiel gezeigt:
<?xml version="1.0"?> <Skin xmlns="http://ns.adobe.com/mxml/2009"> <Metadata> <!-- Specify the component that uses this skin class. --> [HostComponent("my.component.MyComponent")] </Metadata> <states> <!-- Specify the states controlled by this skin. --> </states> <!-- Define skin. --> </Skin>
Das Layout versucht, alle untergeordneten Elemente in ihrer bevorzugten Größe zu erstellen. Wenn genug Platz vorhanden ist, wird jedes untergeordnete Element auf die bevorzugte Größe geändert und überschüssiger Platz gleichmäßig auf die untergeordneten Elemente verteilt.
Wenn nicht genug Platz vorhanden ist, alle untergeordneten Elemente auf die bevorzugte Größe zu ändern, wird den untergeordneten Elementen, die kleiner als die durchschnittliche Breite sind, die bevorzugte Größe zugewiesen und werden die anderen Elemente entsprechend verkleinert.
Alle untergeordneten Elemente werden auf die Höhe des übergeordneten Elements gesetzt.
Der Benutzer klickt zurzeit auf diese Komponente.
Der Benutzer zeigt zurzeit mit der Maus auf diese Komponente.
Es wird keine Interaktion für diese Komponente ausgeführt.
<s:ButtonBarBase>
tag inherits all of the tag
attributes of its superclass and adds no new tag attributes:
<s:ButtonBarBase/>]]>
Durch Klicken auf einen Elementrenderer wird dieser ausgewählt. Dies geschieht durch Festlegen der Eigenschaften
Pfeiltastenereignisse werden durch Einstellen von
Die
Die
Initialisiert die Tabulatortastenverarbeitung: Diese Komponente erhält den Fokus, wenn sie mit der Tabulatortaste angesteuert wird, nicht jedoch, wenn mit der Maus auf sie geklickt wird. Das Ansteuern untergeordneter Elemente mit der Tabulatortaste ist deaktiviert.
Sie können eine
Die Symbolfunktion übernimmt ein einzelnes Argument, nämlich das Element im Datenprovider, und gibt eine gültige BitmapImage-Quelle zurück.
myIconFunction(item:Object):Object
<s:ListBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ListBase Properties arrowKeysWrapFocus="false" labelField="label" labelFunction="null" requireSelection="false" selectedIndex="-1" selectedItem="undefined" useVirtualLayout="false" Events caretChange="No default" change="No default" changing="No default" />]]>
Hinweis: Die listenbasierten Spark-Steuerelemente (die Spark ListBase-Klasse und ihre Unterklassen wie ButtonBar, ComboBox, DropDownList, List und TabBar) unterstützen nicht die Verwendung der BasicLayout-Klasse als Wert der
Wenn Sie den Wert der
Dieses Ereignis wird ausgelöst, wenn der Benutzer mit dem Steuerelement interagiert. Wenn Sie den Wert der
Ein
Das
Sie können eine
Die „labelFunction“ übernimmt ein einzelnes Argument, nämlich das Element im Datenprovider, und gibt einen String zurück.
myLabelFunction(item:Object):String
Der Standardwert ist für die meisten Unterklassen
Der Wert liegt immer zwischen -1 und (
Wenn das ausgewählte Element entfernt wird, wird die ausgewählte Indexposition auf Folgendes gesetzt:
Wenn der Benutzer die
Das Einstellen von
Wenn das ausgewählte Element entfernt wird, wird das ausgewählte Element auf Folgendes eingestellt:
Wenn der Benutzer die
Status ändert sich, wenn der Übergang die playTransitions wiedergibt.
Folgende Werte sind möglich:
<s:DropDownListBase>
tag inherits all of the tag
attributes of its superclass and adds the following attributes:
<s:DropDownListBase Styles cornerRadius="4" dropShadowVisible="true" Events closed="No default" open="No default" />]]>
Das DropDownListBase-Steuerelement besteht aus der Ankerschaltfläche sowie der Dropdownliste. Verwenden Sie die Ankerschaltfläche zum Öffnen und Schließen der Dropdownliste.
Bei geöffneter Dropdownliste:
<s:SkinnableTextBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableTextBase autoCapitalize="none" [Mobile theme only] autoCorrect="true" [Mobile theme only] displayAsPassword="false" editable="true" imeMode="null" [Spark theme only] maxChars="0" prompt="null" restrict="null" returnLabelKey="default" [Mobile theme only] selectable="true" selectionHighlighting="whenFocused" [Spark theme only] softKeyBoardType="default" [Mobile theme only] text="" typicalText="null" [Spark theme only] Styles borderAlpha="1.0" borderColor="0x696969" borderVisible="true" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" focusAlpha="0.55" focusColor="0x70B2EE" showPromptWhenFocused="true" Events change="No default" changing="No default" [Spark theme only] selectionChange="No default" [Spark theme only] textInput="No default" [Spark theme only] />]]>
Für das Mobile-Design wird es nicht ausgelöst.
Für das Mobile-Design wird es nicht ausgelöst.
Für das Mobile-Design wird es nicht ausgelöst.
Unterstützte Werte sind definiert in flash.text.AutoCapitalize:
Dies wird im Spark-Design nicht unterstützt.
Dies wird im Spark-Design nicht unterstützt.
Spark-Design: siehe spark.components.RichEditableText.editable
Mobile-Design: siehe spark.components.supportClasses.StyleableTextField.letterSpacing
Dies wird im Mobile-Design nicht unterstützt.
Spark-Design: siehe spark.components.RichEditableText.imeMode
Dies wird im Mobile-Design nicht unterstützt.
Text für die Eingabeaufforderung erscheint, wenn das Text-Steuerelement zuerst erstellt wird. Text für die Eingabeaufforderung wird ausgeblendet, wenn das Steuerelement den Fokus erhält oder wenn die
Wenn der Benutzer Text eingibt, aber ihn später wieder löscht, wird bei den Steuerelementen der Text für die Eingabeaufforderung wieder eingeblendet, wenn das Steuerelement den Fokus verliert. Sie können des Weiteren Text für die Eingabeaufforderung programmgesteuert wieder einblenden, indem Sie die Texteigenschaft des Text-Steuerelements auf den leeren String einstellen.
Sie können den Stil des Texts für die Eingabeaufforderung mit CSS ändern. Wenn das Steuerelement Text für die Eingabeaufforderung enthält und nicht deaktiviert ist, wird der Stil durch den
Das folgende Beispiel-CSS ändert die Farbe des Texts der Eingabeaufforderung in Steuerelementen, denen SkinnableTextBase untergeordnet ist (das schließt Spark-TextInput und TextArea-Steuerelemente ein):
@namespace s "library://ns.adobe.com/flex/spark"; s|SkinnableTextBase:normalWithPrompt { color: #CCCCFF; }
Unterstützte Werte sind definiert in flash.text.AutoCapitalize:
Dies wird im Spark-Design nicht unterstützt.
Spark-Design: siehe spark.components.RichEditableText.selectable
Mobile-Design: siehe spark.components.supportClasses.StyleableStageText.selectable
Spark-Design: siehe spark.components.RichEditableText.selectionActivePosition
Mobile-Desigen: siehe spark.components.supportClasses.StyleableStageText.selectionActivePosition
Spark-Design: siehe spark.components.RichEditableText.selectionAnchorPosition
Mobile-Design: siehe spark.components.supportClasses.StyleableStageText.selectionAnchorPosition
Spark-Design: siehe spark.components.RichEditableText.selectionHighlighting
Dies wird im Mobile-Design nicht unterstützt.
Unterstützte Werte sind definiert in flash.text.SoftKeyboardType:
Dies wird im Spark-Design nicht unterstützt.
Spark-Design: siehe spark.components.RichEditableText.text
Mobile-Design: siehe spark.components.supportClasses.StyleableStageText#text
Spark-Design: siehe spark.components.RichEditableText.typicalText
Dies wird im Mobile-Design nicht unterstützt.