TileList コンポーネントの使用

TileList コンポーネントは、データプロバイダーからのデータが入力された行と列から成るリストで構成されます。アイテムとは、TileList のセル内に格納されるデータの単位です。データプロバイダーによって指定されるアイテムには、通常、 label プロパティと source プロパティがあります。 label プロパティでセル内に表示するコンテンツを識別し、 source プロパティでその値を指定します。

Array インスタンスは、作成することも、サーバーから取得することもできます。 TileList コンポーネントには、データプロバイダーの代理となるメソッドが用意されています(例えば addItem() メソッドや removeItem() メソッドなど)。リストに外部のデータプロバイダーを指定しない場合、これらのメソッドによってデータプロバイダーインスタンスが自動的に作成され、 List.dataProvider を通じて公開されます。

TileList コンポーネントのユーザー操作

TileList は、ICellRenderer インターフェイスを実装した Sprite を使用して、各セルをレンダリングします。 このレンダラーは、TileList の cellRenderer プロパティで指定できます。TileList コンポーネントのデフォルトの CellRenderer は ImageCell です。これにより、イメージ(クラス、ビットマップ、インスタンスまたは URL)やオプションのラベルを表示します。このラベルは単一行で、常にセルの下部に配置されます。 TileList は、1 方向だけにスクロールすることができます。

フォーカスを取得している TileList インスタンスでは、次のキーを使用して中のアイテムにアクセスすることも可能です。

キー

説明

上向き矢印、下向き矢印

列を上下に移動できます。 allowMultipleSelection プロパティが true の場合は、これらのキーを Shift キーと組み合わせて使用し、複数のセルを選択できます。

左向き矢印、右向き矢印

行を左右に移動できます。 allowMultipleSelection プロパティが true の場合は、これらのキーを Shift キーと組み合わせて使用し、複数のセルを選択できます。

Home

TileList の先頭のセルを選択します。 allowMultipleSelection プロパティが true の場合は、Shift キーを押しながら Home キーを押すと、現在の位置から先頭のセルまでのすべてのセルが選択されます。

End

TileList の最後のセルを選択します。 allowMultipleSelection プロパティが true の場合は、Shift キーを押しながら End キーを押すと、現在の位置から最後のセルまでのすべてのセルが選択されます。

Ctrl

allowMultipleSelection プロパティが true に設定されている場合は、複数のセルを任意の順序で選択できます。

TileList コンポーネントをアプリケーションに追加する際に、次の ActionScript コード行を追加することで、そのコンポーネントをスクリーンリーダーが読み取れるように設定できます。

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

1 つのコンポーネントに対してアクセシビリティ機能を有効化する処理は、そのコンポーネントがインスタンスをいくつ持つかに関係なく、一度だけ実行します。 詳しくは、『Flash ユーザーガイド』の第 18 章「アクセシビリティコンテンツの作成」を参照してください。

TileList コンポーネントのパラメーター

プロパティインスペクターまたはコンポーネントインスペクターで TileList コンポーネントの各インスタンスに設定できるオーサリングパラメーターは、 allowMultipleSelection columnCount columnWidth dataProvider direction horizontalScrollLineSize horizontalScrollPageSize labels rowCount rowHeight ScrollPolicy、verticalScrollLineSize、verticalScrollPageSize です。これらの各パラメーターには、対応する同名の ActionScript プロパティがあります。 dataProvider パラメーターの使用について詳しくは、 dataProvider パラメーターの使用 を参照してください。

ActionScript を記述すれば、TileList コンポーネントのメソッド、プロパティ、イベントを使用して、TileList インスタンスのその他のオプションを設定できます。 詳しくは、「 Adobe Flash Professional CS5 用 ActionScript 3.0 リファレンスガイド 」の TileList クラスを参照してください。

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. 制御/ムービープレビューを選択してアプリケーションをテストします。

ActionScript を使用した TileList コンポーネントの作成

この例では、TileList インスタンスを動的に作成し、ColorPicker、ComboBox、NumericStepper、CheckBox の各コンポーネントのインスタンスを追加します。表示するコンポーネントのラベルと名前が格納された Array を作成し、その Array( dp )を TileList の dataProvider プロパティに割り当てます。 columnWidth プロパティと rowHeight プロパティを使用し、 setSize() メソッドで TileList のレイアウトを指定して、 move() メソッドで TileList をステージに配置します。また、 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. 制御/ムービープレビューを選択してアプリケーションをテストします。