Die List-Komponente ist ein Listenfeld mit Bildlaufleiste zur Auswahl eines oder mehrerer Elemente. In Listen können auch Grafiken und andere Komponenten angezeigt werden. Die in der Liste angezeigten Werte werden im Dialogfeld „Werte“ hinzugefügt, das Sie durch Klicken auf das Parameterfeld „label“ oder „data“ aufrufen können. Sie können der Liste auch mit den Methoden
List.addItem()
und
List.addItemAt()
Elemente hinzufügen.
Die List-Komponente verwendet einen von Null ausgehenden Index, wobei das Element mit dem Indexwert 0 an oberster Stelle der Liste angezeigt wird. Wenn Sie Elemente mit den Methoden und Eigenschaften der List-Klasse hinzufügen, entfernen oder ersetzen, müssen Sie in bestimmten Fällen die Indizes der Elemente angeben.
Benutzerinteraktion mit der List-Komponente
Sie können beim Erstellen der Liste festlegen, ob der Benutzer nur ein einzelnes Element oder auch mehrere Elemente auf einmal auswählen kann. Nehmen wir als Beispiel einen Online-Shop. Das Sortiment des Online-Shops umfasst 30 Artikel, die in einer Liste mit Bildlaufleiste durch Klicken ausgewählt werden können.
Die Zeilen einer Liste können auch benutzerdefinierte Movieclips enthalten, damit mehr Informationen angezeigt werden können. Ein Beispiel wäre eine E-Mail-Anwendung, in der die verschiedenen Postfächer als List-Komponenten umgesetzt sind, wobei jedes Listenelement einer Nachricht entspricht und grafische Symbole den Benutzer über Priorität und Status der einzelnen Nachrichten informieren.
Die Liste erhält den Fokus, wenn Sie darauf klicken oder sie mit der Tabulatortaste ansteuern. Sie kann dann mit den folgenden Tasten gesteuert werden:
Schlüssel
|
Beschreibung
|
Alphanumerische Tasten
|
Steuert das nächste Element an, dessen Beschriftung mit
Key.getAscii()
beginnt.
|
Strg
|
Toggle-Taste, mit der die Auswahl mehrerer nicht aufeinander folgender Elemente vorgenommen oder aufgehoben werden kann.
|
Nach-unten-Taste
|
Verschiebt die Auswahl um ein Element nach unten.
|
Startseite
|
Verschiebt die Auswahl an den Anfang der Liste.
|
Bild-ab
|
Verschiebt die Auswahl um eine Seite nach unten.
|
Bild-auf
|
Verschiebt die Auswahl um eine Seite nach oben.
|
Umschalttaste
|
Ermöglicht die Auswahl von mehreren aufeinander folgenden Elementen.
|
Nach-oben-Taste
|
Verschiebt die Auswahl um ein Element nach oben.
|
Hinweis:
Beachten Sie, dass die Bildlaufgröße in Pixel und nicht in Zeilen angegeben wird.
Hinweis:
Die Seitengröße beim Blättern in der Dropdownliste mit der Bild-auf-Taste und Bild-ab-Taste entspricht der Anzahl der Elemente, die in den angezeigten Ausschnitt passen, minus eins. Beispiel: Bei einer zehnzeiligen Dropdownliste werden beim Blättern mit der Bild-ab-Taste die Elemente 0 bis 9, dann die Elemente 9 bis 18, dann die Elemente 18 bis 27 angezeigt usw. Die jeweils letzte angezeigte Zeile wird also immer zur ersten angezeigten Zeile der nächsten Seite.
Weitere Informationen zum Steuern des Fokus finden Sie in den Abschnitten zur IFocusManager-Schnittstelle und zur FocusManager-Klasse im
ActionScript 3.0 Referenzhandbuch
für Flash Professional,
und unter
Arbeiten mit dem FocusManager
.
Die Änderungen an den Parametern der einzelnen List-Instanzen, die beim Authoring im Eigenschaften- oder Komponenten-Inspektor vorgenommen werden, werden jeweils in einer Live-Vorschau angezeigt.
Die einer Anwendung hinzugefügten List-Komponenten können Sie Bildschirmleseprogrammen anhand der folgenden ActionScript-Codezeilen zugänglich machen:
import fl.accessibility.ListAccImpl;
ListAccImpl.enableAccessibility();
Diese Anweisung ist unabhängig von der Anzahl der Instanzen nur einmal pro Komponente erforderlich. Weitere Informationen finden Sie im Handbuch
Verwenden von Flash
im Kapitel 18, „Barrierefreie Inhalte erstellen“.
Parameter der List-Komponente
Die folgenden Parameter können für jede Instanz einer List-Komponente im Eigenschaften- oder Komponenten-Inspektor festgelegt werden:
allowMultipleSelection
,
dataProvider, horizontalLineScrollSize, horizontalPageScrollSize, horizontalScrollPolicy, multipleSelection, verticalLineScrollSize, verticalPageScrollSize
und
verticalScrollPolicy
. Jeder dieser Parameter verfügt über eine entsprechende ActionScript-Eigenschaft mit demselben Namen. Informationen zu den möglichen Werten für diese Parameter finden Sie im Abschnitt zur List-Klasse im
ActionScript 3.0 Referenzhandbuch
für Flash Professional
. Informationen über die Verwendung des Parameters „dataProvider“ finden Sie im Abschnitt
Verwenden des Parameters „dataProvider“
.
Erstellen einer Anwendung mit der List-Komponente
Im Folgenden wird erläutert, wie Sie einer Anwendung beim Authoring eine List-Komponente hinzufügen.
Einfügen einer einfachen List-Komponente in eine Anwendung
In diesem Beispiel besteht die Liste aus Beschriftungen, die Automodelle identifizieren, und Datenfeldern, die Preise enthalten.
-
Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).
-
Ziehen Sie eine List-Komponente vom Bedienfeld „Komponenten“ auf die Bühne.
-
Führen Sie im Eigenschafteninspektor die folgenden Schritte durch:
-
Verwenden Sie das Textwerkzeug, um unter der Instanz
aList
ein Textfeld zu erstellen und weisen Sie ihm den Instanznamen
aTf
zu.
-
Öffnen Sie das Bedienfeld „Aktionen“, wählen Sie in der Hauptzeitleiste Bild 1 aus und geben Sie den folgenden ActionScript-Code ein:
import fl.controls.List;
import flash.text.TextField;
aTf.type = TextFieldType.DYNAMIC;
aTf.border = false;
// Create these items in the Property inspector when data and label
// parameters are available.
aList.addItem({label:"1956 Chevy (Cherry Red)", data:35000});
aList.addItem({label:"1966 Mustang (Classic)", data:27000});
aList.addItem({label:"1976 Volvo (Xcllnt Cond)", data:17000});
aList.allowMultipleSelection = true;
aList.addEventListener(Event.CHANGE, showData);
function showData(event:Event) {
aTf.text = "This car is priced at: $" + event.target.selectedItem.data;
}
In diesem Code wird die Methode
addItem()
verwendet, um
aList
mit drei Elementen zu füllen, wobei jedem Element ein
label
-Wert zugewiesen wird, der in der Liste erscheint, sowie ein
data
-Wert. Wenn der Benutzer ein Element in der Liste auswählt, ruft der Ereignis-Listener die Funktion
showData()
auf, die den
data
-Wert für das ausgewählte Element anzeigt.
-
Wählen Sie „Steuerung“ > „Film testen“, um die Anwendung zu kompilieren und auszuführen.
Füllen einer List-Instanz mit einem Datenprovider
In diesem Beispiel wird eine Liste mit Automodellen und dem jeweiligen Preis erstellt. Für das Ausfüllen der Liste wird jedoch anstelle der Methode
addItem()
ein Datenprovider verwendet.
-
Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).
-
Ziehen Sie eine List-Komponente vom Bedienfeld „Komponenten“ auf die Bühne.
-
Führen Sie im Eigenschafteninspektor die folgenden Schritte durch:
-
Verwenden Sie das Textwerkzeug, um unter der Instanz
aList
ein Textfeld zu erstellen und weisen Sie ihm den Instanznamen
aTf
zu.
-
Öffnen Sie das Bedienfeld „Aktionen“, wählen Sie in der Hauptzeitleiste Bild 1 aus und geben Sie den folgenden ActionScript-Code ein:
import fl.controls.List;
import fl.data.DataProvider;
import flash.text.TextField;
aTf.type = TextFieldType.DYNAMIC;
aTf.border = false;
var cars:Array = [
{label:"1956 Chevy (Cherry Red)", data:35000},
{label:"1966 Mustang (Classic)", data:27000},
{label:"1976 Volvo (Xcllnt Cond)", data:17000},
];
aList.dataProvider = new DataProvider(cars);
aList.allowMultipleSelection = true;
aList.addEventListener(Event.CHANGE, showData);
function showData(event:Event) {
aTf.text = "This car is priced at: $" + event.target.selectedItem.data;
}
-
Wählen Sie „Steuerung“ > „Film testen“, um die Liste mit den Elementen anzuzeigen.
Verwenden einer List-Komponente zum Steuern einer MovieClip-Instanz
Im folgenden Beispiel wird eine Liste mit Farbnamen erstellt. Wenn der Benutzer eine Farbe auswählt, wird diese einem Movieclip zugewiesen.
-
Erstellen Sie ein Flash-Dokument (ActionScript 3.0).
-
Ziehen Sie eine List-Komponente vom Bedienfeld „Komponenten“ auf die Bühne und geben Sie im Eigenschafteninspektor die folgenden Werte ein:
-
Geben Sie als Instanznamen
aList
ein.
-
Geben Sie als Höhe (H) den Wert
60
ein.
-
Geben Sie
100
als X-Wert ein.
-
Geben Sie
150
als Y-Wert ein.
-
Öffnen Sie das Bedienfeld „Aktionen“, wählen Sie in der Hauptzeitleiste Bild 1 aus und geben Sie den folgenden ActionScript-Code ein:
aList.addItem({label:"Blue", data:0x0000CC});
aList.addItem({label:"Green", data:0x00CC00});
aList.addItem({label:"Yellow", data:0xFFFF00});
aList.addItem({label:"Orange", data:0xFF6600});
aList.addItem({label:"Black", data:0x000000});
var aBox:MovieClip = new MovieClip();
addChild(aBox);
aList.addEventListener(Event.CHANGE, changeHandler);
function changeHandler(event:Event) {
drawBox(aBox, event.target.selectedItem.data);
};
function drawBox(box:MovieClip,color:uint):void {
box.graphics.beginFill(color, 1.0);
box.graphics.drawRect(225, 150, 100, 100);
box.graphics.endFill();
}
-
Wählen Sie „Steuerung“ > „Film testen“ aus, um die Anwendung auszuführen.
-
Klicken Sie auf verschiedene Farben in der Liste, um zu sehen, wie sie im Movieclip angezeigt werden.
Erstellen einer List-Komponenteninstanz mithilfe von ActionScript-Code:
In diesem Beispiel wird eine einfache Liste mit ActionScript erstellt und mit der Methode
addItem()
gefüllt.
-
Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).
-
Ziehen Sie die List-Komponente vom Bedienfeld „Komponenten“ in das Bedienfeld „Bibliothek“.
-
Öffnen Sie das Bedienfeld „Aktionen“, wählen Sie in der Hauptzeitleiste Bild 1 aus und geben Sie den folgenden ActionScript-Code ein:
import fl.controls.List;
var aList:List = new List();
aList.addItem({label:"One", data:1});
aList.addItem({label:"Two", data:2});
aList.addItem({label:"Three", data:3});
aList.addItem({label:"Four", data:4});
aList.addItem({label:"Five", data:5});
aList.setSize(60, 40);
aList.move(200,200);
addChild(aList);
aList.addEventListener(Event.CHANGE, changeHandler);
function changeHandler(event:Event):void {
trace(event.target.selectedItem.data);
}
-
Wählen Sie „Steuerung“ > „Film testen“ aus, um die Anwendung auszuführen.
|
|
|