El componente List es un cuadro de lista desplazable de selección única o múltiple. Una lista también puede mostrar gráficos, incluidos otros componentes. Los elementos que se visualizan en la lista se añaden con el cuadro de diálogo Valores que aparece al hacer clic en los campos de parámetros data o labels. Para añadir elementos a la lista también pueden utilizarse los métodos
List.addItem()
y
List.addItemAt()
.
El componente List utiliza un índice basado en cero, en el que el elemento con el índice 0 aparece en primer lugar. Si añade, elimina o reemplaza elementos de lista mediante los métodos y propiedades de la clase List, es posible que tenga que especificar el índice del elemento de lista.
Interacción del usuario con el componente List
Se puede configurar una lista para que los usuarios efectúen selecciones únicas o múltiples. Por ejemplo, un usuario visita un sitio web de comercio electrónico y debe elegir el artículo que va a comprar. Hay 30 artículos en una lista que el usuario recorre y hace clic en el que desea seleccionar.
También se puede diseñar un componente List que utilice clips de película personalizados como filas para poder mostrar más información al usuario. Por ejemplo, en una aplicación de correo electrónico, cada buzón podría ser un componente List y cada fila podría tener iconos para indicar la prioridad y el estado.
El componente List se selecciona al hacer clic o desplazarse a él mediante el tabulador; a continuación, se pueden utilizar las teclas siguientes para controlarlo:
Tecla
|
Descripción
|
Teclas alfanuméricas
|
Salta al siguiente elemento que tiene
Key.getAscii()
como el primer carácter de su etiqueta.
|
Control
|
Tecla conmutadora que permite seleccionar y anular la selección de varios elementos no contiguos.
|
Flecha abajo
|
La selección desciende un elemento.
|
Inicio
|
La selección se desplaza al principio de la lista.
|
Av Pág
|
La selección avanza una página.
|
Re Pág
|
La selección retrocede una página.
|
Mayús
|
Permite seleccionar elementos contiguos.
|
Flecha arriba
|
La selección asciende un elemento.
|
Nota:
debe tenerse en cuenta que los tamaños de desplazamiento se expresan en píxeles y no en filas.
Nota:
para las teclas Av Pág y Re Pág, una página está formada por los elementos que caben en pantalla menos uno. Por ejemplo, para avanzar por una lista desplegable que presenta las líneas de diez en diez, la pantalla muestra los elementos 0-9, 9-18, 18-27 y así sucesivamente, solapando un elemento por página.
Para obtener más información sobre el control de la selección, consulte la interfaz IFocusManager y la clase FocusManager en la
Referencia de ActionScript 3.0
para Flash Professional,
y en
Trabajo con FocusManager
.
La previsualización dinámica de cada instancia de List del escenario refleja los cambios de parámetros realizados durante la edición en el inspector de propiedades o en el inspector de componentes.
Si se añade el componente List a una aplicación, se puede hacer accesible a un lector de pantalla añadiendo las líneas de código ActionScript siguientes:
import fl.accessibility.ListAccImpl;
ListAccImpl.enableAccessibility();
La accesibilidad de un componente sólo se activa una vez, sea cual sea su número de instancias. Para más información, consulte el Capítulo 18, "Creación de contenido accesible" de
Uso de Flash
.
Parámetros del componente List
A continuación se indican los parámetros de edición que se pueden definir para cada instancia del componente List en el inspector de propiedades o en el inspector de componentes:
allowMultipleSelection
,
dataProvider, horizontalLineScrollSize, horizontalPageScrollSize, horizontalScrollPolicy, multipleSelection, verticalLineScrollSize, verticalPageScrollSize
y
verticalScrollPolicy
. Cada uno de estos parámetros tiene una propiedad de ActionScript del mismo nombre. Para obtener información sobre los valores posibles de estos parámetros, consulte la clase List en la
Referencia de ActionScript 3.0
para Flash Professional
. Para información sobre la utilización del parámetro dataProvider, consulte
Uso del parámetro dataProvider
.
Creación de una aplicación con el componente List
Los siguientes ejemplos explican cómo añadir un componente List a una aplicación durante la edición.
Añadir un componente List a una aplicación
En este ejemplo, el componente List consta de etiquetas que identifican modelos de automóvil y campos de datos que contienen precios.
-
Cree un nuevo documento de Flash (ActionScript 3.0).
-
Arrastre un componente List desde el panel Componentes al escenario.
-
En el inspector de propiedades, siga este procedimiento:
-
Utilice la herramienta Texto para crear un campo de texto debajo de
aList
y asígnele el nombre de instancia
aTf
.
-
Abra el panel Acciones, seleccione el fotograma 1 en la línea de tiempo principal e introduzca el código ActionScript siguiente:
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;
}
Este código utiliza el método
addItem()
para llenar
aList
con tres elementos; asigna un valor
label
(que aparece en la lista) a cada elemento, así como un valor
data.
Al seleccionar un elemento en el componente List, el detector de eventos llama a la función
showData()
, que muestra el valor
data
para el elemento seleccionado.
-
Seleccione Control > Probar película para compilar y ejecutar esta aplicación.
Llenar una instancia de List con un proveedor de datos
En este ejemplo se crea una lista de modelos de automóvil y sus precios. Para llenar el componente List, se utiliza un proveedor de datos en lugar del método
addItem()
.
-
Cree un nuevo documento de Flash (ActionScript 3.0).
-
Arrastre un componente List desde el panel Componentes al escenario.
-
En el inspector de propiedades, siga este procedimiento:
-
Utilice la herramienta Texto para crear un campo de texto debajo de
aList
y asígnele el nombre de instancia
aTf
.
-
Abra el panel Acciones, seleccione el fotograma 1 en la línea de tiempo principal e introduzca el código ActionScript siguiente:
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;
}
-
Seleccione Control > Probar película para ver el componente List con sus elementos.
Uso de un componente List para controlar una instancia de MovieClip
En el ejemplo siguiente se crea una componente List de nombres de colores y, al seleccionar uno, se aplica el color a un componente MovieClip.
-
Cree un documento de Flash (ActionScript 3.0).
-
Arrastre el componente List del panel Componentes al escenario y asígnele los valores siguientes en el inspector de propiedades:
-
Introduzca
aList
como nombre de instancia.
-
Introduzca
60
en el valor de altura.
-
Introduzca
100
en el valor X.
-
Introduzca
150
en el valor Y.
-
Abra el panel Acciones, seleccione el fotograma 1 en la línea de tiempo principal e introduzca el código ActionScript siguiente:
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();
}
-
Seleccione Control > Probar película para ejecutar la aplicación.
-
Haga clic en los colores de List para ver cómo se muestran en MovieClip.
Creación de una instancia del componente List con ActionScript:
En este ejemplo se crea una lista sencilla utilizando ActionScript y se llena con el método
addItem()
.
-
Cree un nuevo documento de Flash (ActionScript 3.0).
-
Arrastre el componente List del panel Componentes al panel Biblioteca.
-
Abra el panel Acciones, seleccione el fotograma 1 en la línea de tiempo principal e introduzca el código ActionScript siguiente:
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);
}
-
Seleccione Control > Probar película para ejecutar la aplicación.
|
|
|