Arbeiten mit der List-Komponente

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.

  1. Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).

  2. Ziehen Sie eine List-Komponente vom Bedienfeld „Komponenten“ auf die Bühne.

  3. Führen Sie im Eigenschafteninspektor die folgenden Schritte durch:

    • Geben Sie den Instanznamen aList ein.

    • Geben Sie als Breite (B) den Wert 200 an.

  4. Verwenden Sie das Textwerkzeug, um unter der Instanz aList ein Textfeld zu erstellen und weisen Sie ihm den Instanznamen aTf zu.

  5. Ö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.

  6. 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.

  1. Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).

  2. Ziehen Sie eine List-Komponente vom Bedienfeld „Komponenten“ auf die Bühne.

  3. Führen Sie im Eigenschafteninspektor die folgenden Schritte durch:

    • Geben Sie den Instanznamen aList ein.

    • Geben Sie als Breite (B) den Wert 200 an.

  4. Verwenden Sie das Textwerkzeug, um unter der Instanz aList ein Textfeld zu erstellen und weisen Sie ihm den Instanznamen aTf zu.

  5. Ö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; 
    }
  6. 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.

  1. Erstellen Sie ein Flash-Dokument (ActionScript 3.0).

  2. 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.

  3. Ö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();         
    }
  4. Wählen Sie „Steuerung“ > „Film testen“ aus, um die Anwendung auszuführen.

  5. 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.

  1. Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).

  2. Ziehen Sie die List-Komponente vom Bedienfeld „Komponenten“ in das Bedienfeld „Bibliothek“.

  3. Ö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); 
    }
  4. Wählen Sie „Steuerung“ > „Film testen“ aus, um die Anwendung auszuführen.

Rechtliche Hinweise | Online-Datenschutzrichtlinie