Использование компонента TileList

Компонент TileList содержит список, который состоит из строк и столбцов и заполняется данными, полученными от поставщика данных. Элементом называется единица данных, которая хранится в ячейке компонента TileList. Элемент, полученный от поставщика данных, как правило, имеет свойства label и source . Свойство label определяет содержимое для отображения в ячейке, а свойство source передает его значение.

Можно создать экземпляр Array самостоятельно или получить его с сервера. Компонент TileList имеет методы для доступа к поставщику данных, например addItem() и removeItem() . Если у списке нет внешнего поставщика данных, эти методы автоматически создают экземпляр DataProvider через свойство List.dataProvider .

Взаимодействие пользователей с компонентом TileList

Экземпляр TileList визуализирует каждую ячейку с использованием объекта Sprite, внедряющего интерфейс ICellRenderer. Указать этот визуализатор можно с помощью свойства cellRenderer экземпляра TileList. Для компонента TileList значением свойства CellRenderer по умолчанию является объект ImageCell, который отображает изображение (класс, растровое изображение, экземпляр или URL-адрес) и дополнительную метку. Метка представляет собой одну строку, выровненную по нижнему краю ячейки. Прокручивать экземпляр TileList можно только в одном направлении.

Когда экземпляр TileList получает фокус, для доступа к его элементам можно использовать следующие клавиши.

Клавиша

Описание

«Стрелка вверх» и «Стрелка вниз»

Позволяет перемещаться вверх и вниз по столбцу. Если свойство allowMultipleSelection имеет значение true , эти клавиши можно использовать в сочетании с клавишей Shift, чтобы выделить несколько ячеек.

»Стрелка влево» и «Стрелка вправо»

Позволяют перемещаться влево или вправо по строке. Если свойство allowMultipleSelection имеет значение true , эти клавиши можно использовать в сочетании с клавишей Shift, чтобы выделить несколько ячеек.

Домашняя страница

Выделяет первую ячейку в экземпляре TileList. Если свойство allowMultipleSelection имеет значение true , то удерживая клавишу Shift при нажатии Home, можно выделить все ячейки с текущей до первой.

End

Выделяет последнюю ячейку в экземпляре TileList. Если свойство allowMultipleSelection имеет значение true , то удерживая клавишу Shift при нажатии End, можно выделить все ячейки с текущей до последней.

Ctrl

Если свойство allowMultipleSelection имеет значение true , с помощью этой клавиши можно выбрать несколько непоследовательных ячеек.

Когда в приложение добавляется компонент TileList, его можно сделать доступным для программ чтения с экрана путем добавления следующих строк кода ActionScript.

import fl.accessibility.TileListAccImpl; 
 
TileListAccImpl.enableAccessibility();

Расширенный доступ для компонента включается только один раз, независимо от числа его экземпляров. Дополнительные сведения см. в главе 18 «Создание содержимого с расширенной доступностью» в руководстве Использование Flash .

Параметры компонента TileList

В Инспекторе свойств или Инспекторе компонентов можно задать следующие параметры разработки для каждого экземпляра компонента TileList: allowMultipleSelection , columnCount , columnWidth , dataProvider , direction , horizontalScrollLineSize , horizontalScrollPageSize , labels , rowCount , rowHeight , ScrollPolicy, verticalScrollLineSize, verticalScrollPageSize . Каждый из этих параметров имеет соответствующее свойство ActionScript с тем же именем. Сведения об использовании параметра dataProvider см. в разделе « Использование параметра dataProvider ».

Можно написать код ActionScript, чтобы задать дополнительные параметры для экземпляров TileList с использованием их методов, свойств и событий. Дополнительные сведения см. в описании класса TileList в справочнике ActionScript® 3.0 для Adobe® Flash® Professional CS5 .

Создание приложения с компонентом TileList

В этом примере используются объекты MovieClip для заполнения экземпляра TileList массивом цветов краски.

  1. Создайте новый документ Flash (ActionScript 3.0).

  2. Перетащите компонент TileList в рабочую область и присвойте ему имя экземпляра aTl .

  3. Откройте панель «Действия», выберите «Кадр 1» на главной временной шкале и введите следующий код ActionScript.

    import fl.data.DataProvider; 
    import flash.display.DisplayObject; 
     
    var aBoxes:Array = new Array(); 
    var i:uint = 0; 
    var colors:Array = new Array(0x00000, 0xFF0000, 0x0000CC, 0x00CC00, 0xFFFF00); 
    var colorNames:Array = new Array("Midnight", "Cranberry", "Sky", "Forest", "July"); 
    var dp:DataProvider = new DataProvider(); 
    for(i=0; i < colors.length; i++) { 
        aBoxes[i] = new MovieClip(); 
        drawBox(aBoxes[i], colors[i]);    // draw box w next color in array 
        dp.addItem( {label:colorNames[i], source:aBoxes[i]} ); 
    } 
    aTl.dataProvider = dp; 
    aTl.columnWidth = 110; 
    aTl.rowHeight = 130; 
    aTl.setSize(280,150); 
    aTl.move(150, 150); 
    aTl.setStyle("contentPadding", 5); 
     
    function drawBox(box:MovieClip,color:uint):void { 
                box.graphics.beginFill(color, 1.0); 
                box.graphics.drawRect(0, 0, 100, 100); 
                box.graphics.endFill();         
    }
  4. Выберите «Управление» > «Тестировать ролик», чтобы проверить приложение.

Создание компонента TileList с помощью ActionScript

В этом примере выполняется создание экземпляра TileList и добавление в него экземпляров компонентов ColorPicker, ComboBox, NumericStepper и CheckBox. Создается экземпляр Array с именем dp , содержащий метки и имена компонентов для отображения, и присваивается в качестве значения свойству dataProvider экземпляра TileList. Макет экземпляра TileList создается с помощью свойств columnWidth и rowHeight и метода setSize() , затем он размещается в рабочей области с помощью метода move() . Стиль contentPadding используется для добавления пробела между границами и содержимым экземпляра TileList, а метод sortItemsOn() сортирует содержимое по меткам.

  1. Создайте новый документ Flash (ActionScript 3.0).

  2. Перетащите следующие компоненты с панели «Компоненты» на панель «Библиотека»: ColorPicker, ComboBox, NumericStepper, CheckBox и TileList.

  3. Откройте панель «Действия», выберите «Кадр 1» на главной временной шкале и введите следующий код ActionScript.

    import fl.controls.CheckBox; 
    import fl.controls.ColorPicker; 
    import fl.controls.ComboBox; 
    import fl.controls.NumericStepper; 
    import fl.controls.TileList; 
    import fl.data.DataProvider; 
     
    var aCp:ColorPicker = new ColorPicker(); 
    var aCb:ComboBox = new ComboBox(); 
    var aNs:NumericStepper = new NumericStepper(); 
    var aCh:CheckBox = new CheckBox(); 
    var aTl:TileList = new TileList(); 
     
    var dp:Array = [ 
    {label:"ColorPicker", source:aCp}, 
    {label:"ComboBox", source:aCb}, 
    {label:"NumericStepper", source:aNs}, 
    {label:"CheckBox", source:aCh}, 
    ]; 
    aTl.dataProvider = new DataProvider(dp); 
    aTl.columnWidth = 110; 
    aTl.rowHeight = 100; 
    aTl.setSize(280,130); 
    aTl.move(150, 150); 
    aTl.setStyle("contentPadding", 5); 
    aTl.sortItemsOn("label"); 
    addChild(aTl);
  4. Выберите «Управление» > «Тестировать ролик», чтобы проверить приложение.