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 にペイントカラーの配列を格納します。
-
新しい Flash (ActionScript 3.0) ドキュメントを作成します。
-
TileList コンポーネントをステージにドラッグし、インスタンス名を
aTl
にします。
-
アクションパネルを開いて、メインタイムライン内でフレーム 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();
}
-
制御/ムービープレビューを選択してアプリケーションをテストします。
ActionScript を使用した TileList コンポーネントの作成
この例では、TileList インスタンスを動的に作成し、ColorPicker、ComboBox、NumericStepper、CheckBox の各コンポーネントのインスタンスを追加します。表示するコンポーネントのラベルと名前が格納された Array を作成し、その Array(
dp
)を TileList の
dataProvider
プロパティに割り当てます。
columnWidth
プロパティと
rowHeight
プロパティを使用し、
setSize()
メソッドで TileList のレイアウトを指定して、
move()
メソッドで TileList をステージに配置します。また、
contentPadding
スタイルで TileList インスタンスの境界線とコンテンツの間に余白をあけ、
sortItemsOn()
メソッドでコンテンツをラベルの順序で並べ替えます。
-
新しい Flash (ActionScript 3.0) ドキュメントを作成します。
-
ColorPicker、ComboBox、NumericStepper、CheckBox、および TileList の各コンポーネントをコンポーネントパネルからライブラリパネルにドラッグします。
-
アクションパネルを開いて、メインタイムライン内でフレーム 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);
-
制御/ムービープレビューを選択してアプリケーションをテストします。
|
|
|