メソッド | プロパティ | エフェクト | イベント | スタイル | フレームあり | フレームなし

mx.containers
Grid クラス

継承を示す線継承を示す線継承を示す線継承を示す線継承を示す線


Grid クラス
mx.containers.Box の拡張

Grid コンテナを使用すると、HTML テーブルのように子をセルの行や列として配置できます。Grid コンテナは、各セルに 1 つの子を配置します。この子は、コントロールまたはコンテナです。コンテナを指定した場合は、このコンテナに子コンポーネントを含めることができます。

ある 1 行に含まれるセルの高さはすべて同じですが、行ごとに高さを変えることはできます。ある 1 列に含まれるセルの幅はすべて同じですが、列ごとに幅を変えることはできます。Grid コンテナの行ごとまたは列ごとに、異なるセル数を定義できます。また、1 つのセルが、コンテナの複数の列または行にまたがることもできます。

<mx:Grid> タグは、Grid コンテナを定義します。<mx:GridRow> タグは、グリッド行を定義します。このグリッド行にはセルが含まれます。<mx:GridItem> タグは、グリッドセルを定義します。このタグは <GridRow> タグの子である必要があります。<mx:GridItem> タグには、任意の数の子を含めることができます。1 つのセルに複数のコンポーネントを挿入するには、セル内にコンテナを作成し、この子コンテナの内部に子を作成します。

MXML シンタックス

<mx:Grid> タグは、Box クラスのすべてのプロパティ (direction プロパティを除く) を継承します。

 <mx:Grid
horizontalGap="8"
verticalGap="8">
...
These child tags are examples only:
<mx:GridRow id="row1"<
<mx:GridItem
rowSpan="1"
colSpan="1">
<mx:Button label="Button 1"/>
</mx:GridItem>
...
</mx:GridRow>
...
/>

を参照するにはここをクリックしてください

関連項目
    GridRow
    GridItem



コンストラクタ
Grid ( )
コンストラクタ



メソッド
       layoutChildren( ) :  Void
Grid のそれぞれの子のサイズと位置を設定します。
       measure( ) :  Void
Grid の推奨、最小、および最大サイズを計算します。

mx.containers.Box クラスから継承されるメソッド
layoutChildren   measure   pixelsToPercent   setRelativeChildHeights   setRelativeChildWidths  

mx.containers.Container クラスから継承されるメソッド
createChildren   draw   executeChildBindings   getViewMetrics   getViewMetricsAndMargins   init  

mx.core.View クラスから継承されるメソッド
childLoaded   constructObject2   createChild   createChildren   destroyAllChildren   destroyChild   destroyChildAt   draw   getBorderMetrics   getChildAt   getChildIndex   getViewMetrics   init   layoutChildren   layoutChrome   setChildIndex  

mx.core.UIComponent クラスから継承されるメソッド
drawFocus   getFocus   getFocusManager   setEnabled   setFocus  

mx.core.UIObject クラスから継承されるメソッド
addEventListener   applyProperties   buildDepthTable   commitProperties   constructObject2   createAccessibilityImplementation   createChildAtDepth   createChildren   createClassChildAtDepth   createClassObject   createEmptyObject   destroyObject   dispatchEvent   doLater   draw   drawRect   executeBindings   fillRect   findNextAvailableDepth   getRepeaterItem   getStyle   handleEvent   init   invalidate   invalidateLayout   invalidateProperties   invalidateSize   invalidateStyle   layoutChildren   measure   move   redraw   removeEventListener   setDepthAbove   setDepthBelow   setMask   setSize   setSizeNoLayout   setStyle   swapDepths  



プロパティ

mx.containers.Box クラスから継承されるプロパティ
direction  

mx.containers.Container クラスから継承されるプロパティ
autoLayout   childDescriptors   className   clipContent   creationIndex   creationPolicy   defaultButton   hLineScrollSize   hPageScrollSize   hPosition   hScrollPolicy   icon   label   maxHPosition   maxVPosition   numRepeaters   version   vLineScrollSize   vPageScrollSize   vPosition   vScrollPolicy  

mx.core.View クラスから継承されるプロパティ
baselinePosition   className   numChildren   version  

mx.core.UIComponent クラスから継承されるプロパティ
enabled   errorString   tabEnabled   tabIndex   version  

mx.core.UIObject クラスから継承されるプロパティ
alpha   baselinePosition   className   depth   documentDescriptor   height   heightFlex   id   instanceIndices   isDocument   kStretch   layoutHeight   layoutWidth   maxHeight   maxWidth   minHeight   minWidth   mouseX   mouseY   nestLevel   oldHeight   oldWidth   oldX   oldY   parent   parentApplication   parentDocument   percentHeight   percentWidth   preferredHeight   preferredWidth   repeaterIndices   scaleX   scaleY   styleName   tabEnabled   toolTip   version   visible   width   widthFlex   x   y  



エフェクト

mx.core.UIComponent クラスから継承されるエフェクト
focusInEffect   focusOutEffect  

mx.core.UIObject クラスから継承されるエフェクト
creationCompleteEffect   hideEffect   mouseDownEffect   mouseOutEffect   mouseOverEffect   mouseUpEffect   moveEffect   resizeEffect   showEffect  



イベント

mx.containers.Container クラスから継承されるイベント
childrenCreated  scroll 

mx.core.View クラスから継承されるイベント
childCreated  childDestroyed  childIndexChanged 

mx.core.UIComponent クラスから継承されるイベント
focusIn  focusOut  invalid  keyDown  keyUp  valid  valueCommitted 

mx.core.UIObject クラスから継承されるイベント
creationComplete  dragComplete  dragDrop  dragEnter  dragExit  dragOver  draw  effectEnd  effectStart  hide  hideToolTip  initialize  load  mouseChangeSomewhere  mouseDown  mouseDownSomewhere  mouseMove  mouseMoveSomewhere  mouseOut  mouseOver  mouseUp  mouseUpSomewhere  move  resize  show  showToolTip  unload 



スタイル
horizontalGap 型 : Number   形式 : Length   CSS の継承 : なし
子同士の水平方向の間隔を示すピクセル数です。デフォルト値は 8 です。
verticalGap 型 : Number   形式 : Length   CSS の継承 : なし
子同士の垂直方向の間隔を示すピクセル数です。デフォルト値は 8 です。

mx.containers.Box クラスから継承されるスタイル
horizontalAlign   horizontalGap   marginBottom   marginTop   verticalAlign   verticalGap  

mx.core.UIComponent クラスから継承されるスタイル
backgroundAlpha   backgroundColor   backgroundDisabledColor   backgroundImage   backgroundSize   barColor   borderCapColor   borderColor   borderSides   borderStyle   borderThickness   cornerRadius   disabledColor   dropShadow   errorColor   fillColors   highlightColor   modalTransparency   scrollTrackColor   selectedFillColors   shadowCapColor   shadowColor   shadowDirection   shadowDistance   symbolBackgroundColor   symbolBackgroundDisabledColor   symbolBackgroundPressedColor   symbolColor   symbolDisabledColor   themeColor  

mx.core.UIObject クラスから継承されるスタイル
color   fontFamily   fontSize   fontStyle   fontWeight   horizontalGap   leading   marginLeft   marginRight   textAlign   textDecoration   textIndent   verticalGap  



コンストラクタの詳細

Grid

Grid( )

コンストラクタ



メソッドの詳細

layoutChildren

layoutChildren( ) :  Void

Grid のそれぞれの子のサイズと位置を設定します。

Grid コンテナは、Box コンテナと同じレイアウト規則に従います。GridRow コンテナの位置とサイズの計算方法は、VBox コンテナが子の位置とサイズを決める場合と同一です。同様に、GridRow コンテナが GridItemコンテナの位置を決めるときに使用するレイアウトアルゴリズムは、HBox コンテナが使用するアルゴリズムと似ています。

唯一の違いは、GridRow コンテナの場合、子の位置とサイズがすべて同一に設定されるように (Grid コンテナの列が一列に並ぶように)、すべてのコンテナ同士が協調することです。

このメソッドは直接呼び出さないでください。これは Flex LayoutManager によって適切なタイミングで呼び出されます。アプリケーション起動時には、Flex LayoutManager によって、すべてのコンポーネントの layoutChildren() メソッドがルートから下層に向かう順序で呼び出されます。

これは、サブクラス化で使用する高度なメソッドです。このメソッドをオーバーライドする場合、実装で super.layoutChildren()メソッドを呼び出すか、それぞれの子で move() および setSizeNoLayout() メソッドを呼び出す必要があります。レイアウトを実行するために、このコンテナのサイズは width および height プロパティではなく、layoutWidthおよび layoutHeight の各プロパティから取得してください。width および height プロパティは、このコンテナの scaleX および scaleY プロパティの値を考慮しません。


measure

measure( ) :  Void

Grid の推奨、最小、および最大サイズを計算します。

Grid コンテナがその寸法を計算する方法について理解するため、すべての GridItem コンテナの rowSpan プロパティおよび colSpan プロパティが 1 に設定されていると仮定します。Grid コンテナの最初の列の推奨幅は、最初の列にあるすべての GridItem コンテナの推奨幅の中で最大の値に等しくなります。同様に、2 番目の列の推奨幅は、2 番目の列にあるすべての GridItem コンテナの推奨幅の中で最大の値になり、以降も同様に続きます。Grid コンテナ全体の preferredWidth は、すべての列の推奨幅の合計に、境界線の幅と、左右のマージンと、隣接グリッドセル間の水平方向の隙間の幅を加えた値になります。

preferredHeightminWidthminHeightmaxWidth、および maxHeight は、たとえば GridItem コンテナの preferredHeight プロパティに minWidth プロパティを加えるなどのように、すべて同様の方法で計算されます。

ある GridItem コンテナの colSpan プロパティが 3 の場合、この GridItem コンテナの preferredWidth は 3 列で割られます。preferredWidth が等分されると、3 つの列のそれぞれが推奨幅を計算します。このとき、GridItem コンテナがその列のみに存在し、GridItem コンテナの preferredWidth が実際の値の 1/3 であるかのように仮定して計算します。

ただし、GridItem コンテナの preferredWidth は、このコンテナがまたがるすべての列の間で等分されるとは限りません。列の一部のプロパティが width のパーセント値である場合、GridItem コンテナの preferredWidth が割られ、Grid の必要な比率を各列に配分しようとします。

上記の値はすべて、Grid の計算された幅と高さです。ユーザーは setSize() メソッドを呼び出すか、または次のプロパティの値を明示的に指定することにより、測定値をオーバーライドできます。

このメソッドは直接呼び出さないでください。これは Flex LayoutManger によって適切なタイミングで呼び出されます。アプリケーションの起動時に、Flex LayoutManager は子から親までのすべてのコンポーネントを、最終的なサイズに設定する前に測定しようとします。

これは、サブクラス化で使用する高度なメソッドです。このメソッドを独自の実装でオーバーライドする場合は、その実装で super.measure() メソッドを呼び出すか、または _measuredPreferredHeight および _measuredPreferredWidth プロパティを設定する必要があります。また、任意で以下のプロパティも設定します。

これらのプロパティは上記のレイアウトプロパティに対応しているため、別途には説明しません。


GridLayoutExample.mxml
<?xml version="1.0"?>
<!-- Grid レイアウトの使用方法を示す簡単な例 -->
<mx:Application borderStyle="none" xmlns:mx="http://www.macromedia.com/2003/mxml" backgroundColor="#FFFFFF">
    
<mx:Panel title="Grid Panel">
	
	<mx:Grid>

<!-- Row 1 を定義します。-->
<mx:GridRow borderStyle="inset" id="row1">

<!-- Row 1 の最初のセルを定義します。-->
<mx:GridItem borderStyle="outset" >
<!-- このボタンは、「アイコン付きボタン」のように、イメージを構成できます。 -->
<mx:Button id="iconButton" icon="@Embed('FlexLogo.gif')" label="Button with icon" labelPlacement="right" color="#993300"/>
</mx:GridItem>

<!-- Row 1 の 2 番目のセルを定義します。-->
<mx:GridItem borderStyle="outset">
<!-- ボタンのサイズおよびラベル属性はカスタマイズできます。 -->
<mx:Button label="Customized button" toggle="true" selected="true" textAlign="left" fontStyle="italic"
fontSize="13" width="{iconButton.width}"/>
</mx:GridItem>

<!-- Row 1 の 3 番目のセルを定義します。-->
<mx:GridItem borderStyle="outset">
<!-- デフォルトでは、作成するボタンの外観と操作性は「デフォルトボタン」と似たものになります。 -->
<mx:Button label="Default button" repeatInterval="35"/>
</mx:GridItem>

</mx:GridRow>

<!-- Row 2 を定義します。-->
<mx:GridRow borderStyle="inset" id="row2">

<!-- Row 2 の 3 つの列にまたがる 1 つのセルを定義します。 -->
<mx:GridItem borderStyle="outset" horizontalAlign="center" colSpan="3" backgroundColor="#FFFFFF">
<mx:Button label="Long-Named Button 4"/>
</mx:GridItem>

</mx:GridRow>

<!-- Row 3 を定義します。-->
<mx:GridRow borderStyle="inset" id="row3">

<!-- Row 3 の空の最初のセルを定義します。-->
<mx:GridItem/>

<!-- Row 3 の列 2 および 3 にまたがるセルを定義します。 -->
<mx:GridItem borderStyle="outset" horizontalAlign="center" colSpan="2">
<mx:Button label="Button 5"/>
</mx:GridItem>

</mx:GridRow>

</mx:Grid>
	
</mx:Panel>		

</mx:Application>