Flex-accordian-control
フレックス-アコーディオン制御
前書き
Accordianコントロールは、子コンテナーのコレクションを持つナビゲーターコンテナーですが、一度に表示できるのはそのうちの1つだけです。
クラス宣言
以下は mx.containers.Accordian クラスの宣言です-
public class Accordion
extends Container
implements IHistoryManagerClient, IFocusManagerComponent
パブリックプロパティ
Sr.No | Property & Description |
---|---|
1 |
headerRenderer : IFactory 各子のナビゲーションボタンを作成するために使用されるファクトリ。 |
2 |
historyManagementEnabled : Boolean trueに設定すると、このプロパティはこのアコーディオンコンテナ内で履歴管理を有効にします。 |
3 |
resizeToContent : Boolean trueに設定すると、このアコーディオンは現在の子のサイズに自動的にサイズ変更されます。 |
4 |
selectedChild : INavigatorContent 現在表示されている子コンテナへの参照。 |
5 |
selectedIndex : int 現在表示されている子コンテナのゼロから始まるインデックス。 |
保護されたプロパティ
Sr.No | Property & Description |
---|---|
1 |
contentHeight : Number [read-only] The height of the area, in pixels, in which content is displayed. |
2 |
contentWidth : Number [read-only] The width of the area, in pixels, in which content is displayed. |
パブリックメソッド
Sr.No | Method & Description |
---|---|
1 |
Accordion() コンストラクタ。 |
2 |
getHeaderAt(index:int):Button 子コンテナのナビゲータボタンへの参照を返します。 |
3 |
loadState(state:Object):void このオブジェクトの状態をロードします。 |
4 |
saveState():Object このオブジェクトの状態を保存します。 |
イベント
Sr.No | Event & Description |
---|---|
1 |
change 選択した子コンテナが変更されたときに送出されます。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- mx.core.Container
- mx.core.UIComponent
- mx.core.FlexSprite
- flash.display.Sprite
- flash.display.DisplayObjectContainer
- flash.display.InteractiveObject
- flash.display.DisplayObject
- flash.events.EventDispatcher
- 対象
Flex Accordianコントロールの例
次の手順に従って、テストアプリケーションを作成して、Flexアプリケーションでのアコーディオンコントロールの使用を確認します。
Step | Description |
---|---|
1 | Create a project with a name HelloWorld under a package com.finddevguides.client as explained in the Flex - Create Application chapter. |
2 | Modify HelloWorld.mxml as explained below. Keep rest of the files unchanged. |
3 | Compile and run the application to make sure business logic is working as per the requirements. |
以下は、変更されたmxmlファイル src/com.finddevguides/HelloWorld.mxml の内容です。
<?xml version = "1.0" encoding = "utf-8"?>
<s:Application xmlns:fx = "http://ns.adobe.com/mxml/2009"
xmlns:s = "library://ns.adobe.com/flex/spark"
xmlns:mx = "library://ns.adobe.com/flex/mx
width = "100%" height = "100%" minWidth = "500" minHeight = "500">
<fx:Style source = "/com/finddevguides/client/Style.css"/>
<s:BorderContainer width = "630" height = "480" id = "mainContainer"
styleName = "container">
<s:VGroup width = "100%" height = "100%" gap = "50"
horizontalAlign = "center" verticalAlign = "middle">
<s:Label id = "lblHeader" text = "Complex Controls Demonstration"
fontSize = "40" color = "0x777777" styleName = "heading"/>
<s:Panel id = "accordianPanel" title = "Using Accordian"
width = "500" height = "300" >
<s:layout>
<s:HorizontalLayout gap = "10" verticalAlign = "middle"
horizontalAlign = "center"/>
</s:layout>
<mx:Accordion id = "accordion" width = "95%" height = "90%">
<s:NavigatorContent label = "Section 1" width = "100%"
height = "100%">
<s:VGroup verticalAlign = "middle" horizontalAlign = "center"
width = "100%" height = "100%">
<s:Label text = "Contents for Section 1"/>
</s:VGroup>
</s:NavigatorContent>
<s:NavigatorContent label = "Section 2" width = "100%"
height = "100%">
<s:VGroup verticalAlign = "middle" horizontalAlign = "center"
width = "100%" height = "100%">
<s:Label text = "Contents for Section 2"/>
</s:VGroup>
</s:NavigatorContent>
<s:NavigatorContent label = "Section 3" width = "100%"
height = "100%">
<s:VGroup verticalAlign = "middle" horizontalAlign = "center"
width = "100%" height = "100%">
<s:Label text = "Contents for Section 3"/>
</s:VGroup>
</s:NavigatorContent>
<s:NavigatorContent label = "Section 4" width = "100%"
height = "100%">
<s:VGroup verticalAlign = "middle" horizontalAlign = "center"
width = "100%" height = "100%">
<s:Label text = "Contents for Section 4"/>
</s:VGroup>
</s:NavigatorContent>
</mx:Accordion>
</s:Panel>
</s:VGroup>
</s:BorderContainer>
</s:Application>
すべての変更が完了したら、link:/flex/flex_create_application [Flex-アプリケーションの作成]の章で行ったように、アプリケーションを通常モードでコンパイルして実行します。 アプリケーションに問題がなければ、次の結果が生成されます。[link:/flex/samples/ComplexControlsApplicationl#currentlyLoaded = Accordian [On it it online]]