TabNavigator コンテナは一連のタブを作成し、管理します。ユーザーはそれらのタブを使用して、TabNavigator コンテナの子から子へ移動できます。TabNavigator コンテナの子は別のコンテナです。TabNavigator コンテナは、子コンテナごとにタブを 1 つ作成します。ユーザーがタブを選択すると、次の図のように、関連付けられた子が TabNavigator コンテナに表示されます。
TabNavigator コンテナは ViewStack コンテナの子クラスで、ViewStack コンテナの機能の多くを継承します。詳細については、『Adobe Flex リファレンスガイド』を参照してください。
TabNavigator コンテナは、<mx:TabNavigator> タグを使用して定義します。一度に表示される TabNavigator コンテナの子は 1 つだけです。ユーザーは、タブの選択またはキーボード操作によって子を選択できます。ユーザーが現在アクティブな子を変更するたびに、TabNavigator コンテナから change イベントがブロードキャストされます。
TabNavigator コンテナは、その子に対応するタブを自動的に作成し、子の label プロパティからタブテキストを、子の icon プロパティからタブアイコンを、それぞれ決定します。タブは、子のインデックスの番号順に左から右に並べられます。TabNavigator コンテナの幅にすべてのタブが収まる場合には、タブはすべて表示されます。
TabNavigator コンテナの子の enabled プロパティを false に設定して無効にすると、関連するタブも無効になります。
次のコードにより、TabNavigator コンテナの図にある TabNavigator コンテナが作成されます。
<?xml version="1.0"?>
<!-- containers\navigators\TNSimple.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:TabNavigator borderStyle="solid" >
<mx:VBox label="Accounts"
width="300"
height="150">
<!-- Accounts view goes here. -->
</mx:VBox>
<mx:VBox label="Stocks"
width="300"
height="150">
<!-- Stocks view goes here. -->
</mx:VBox>
<mx:VBox label="Futures"
width="300"
height="150">
<!-- Futures view goes here. -->
</mx:VBox>
</mx:TabNavigator>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
次のように、ViewStack コンテナから継承される selectedChild プロパティと selectedIndex プロパティを使用して、現在アクティブな子を設定することもできます。
例など、selectedChild プロパティと selectedIndex プロパティの詳細については、ViewStack ナビゲータコンテナを参照してください。
ユーザーが現在アクティブな子を変更したときに再生するエフェクトを指定するには、TabNavigator コントロールの子の showEffect プロパティと hideEffect プロパティを使用します。次の例は、選択されているタブが変更されるたびに WipeLeft エフェクトを再生します。
<?xml version="1.0"?>
<!-- containers\navigators\TNEffect.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:WipeLeft id="myWL"/>
<mx:TabNavigator>
<mx:VBox label="Accounts"
width="300"
height="150"
showEffect="{myWL}">
<!-- Accounts view goes here. -->
</mx:VBox>
<mx:VBox label="Stocks"
width="300"
height="150"
showEffect="{myWL}">
<!-- Stocks view goes here. -->
</mx:VBox>
<mx:VBox label="Futures"
width="300"
height="150"
showEffect="{myWL}">
<!-- Futures view goes here. -->
</mx:VBox>
</mx:TabNavigator>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
TabNavigator コンテナのデフォルトの幅と高さは、最初の子の幅と高さになります。TabNavigator コンテナのサイズは、アクティブな子が変更されても変わりません。
次のテクニックを使用すると、TabNavigator コンテナのサイズを制御して、TabNavigator コンテナの子の中にすべてのコンポーネントを表示できます。
どの方法を使用するかは、作成するアプリケーションと TabNavigator コンテナの内容に応じて決定してください。
TabNavigator コンテナにフォーカスがあるときは、次の表のようにキーストロークが処理されます。
|
キー |
アクション |
|---|---|
|
↓(下向き矢印) →(右向き矢印) |
次のタブにフォーカスを移動します。最後のタブにフォーカスがあるときにこのキーを押すと、最初のタブにフォーカスが移動します。ただし、選択されている子は変化しません。 |
|
↑(上向き矢印) ←(左向き矢印) |
前のタブにフォーカスを移動します。最初のタブにフォーカスがあるときにこのキーを押すと、最後のタブにフォーカスが移動します。ただし、選択されている子は変化しません。 |
|
PageDown |
次の子を選択します。最後の子を選択しているときにこのキーを押すと、最初の子が選択されます。 |
|
PageUp |
前の子を選択します。最初の子を選択しているときにこのキーを押すと、最後の子が選択されます。 |
|
Home |
最初の子を選択します。 |
|
End |
最後の子を選択します。 |
|
Enter スペースバー |
フォーカスが表示されているタブに関連付けられている子を選択します。 |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート