パッケージ | spark.layouts.supportClasses |
クラス | public class LayoutBase |
継承 | LayoutBase OnDemandEventDispatcher Object |
サブクラス | BasicLayout, ButtonBarHorizontalLayout, ConstraintLayout, HorizontalLayout, MosaicLayoutBase, TabbedViewNavigatorTabBarHorizontalLayout, TileLayout, VerticalLayout, ViewMenuLayout |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
LayoutBase
またはそのサブクラスのいずれかを拡張します。
サブクラスでは、少なくとも updateDisplayList()
メソッドと measure()
メソッドを実装する必要があります。updateDisplayList() メソッドは、target
の GroupBase のエレメントの位置とサイズを設定し、measure() メソッドは、target
のデフォルトサイズを計算します。
サブクラスでは、getElementBoundsAboveScrollRect()
や getElementBoundsBelowScrollRect()
などのメソッドをオーバーライドして、スクロールバーに接続したときのターゲットの動作方法をカスタマイズできます。
仮想化をサポートするサブクラスでは、useVirtualLayout
プロパティを順守する必要があります。また、このサブクラスでは、updateDisplayList()
内から getVirtualElementAt()
を使用して、scrollRect 内のレイアウトエレメント(getScrollRect()
の値)のみを取得する必要があります。
The <s:LayoutBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:LayoutBase Properties clipAndEnableScrolling="false" dropIndicator="defined by the skin class" horizontalScrollPosition="0" target="null" typicalLayoutElement="null" useVirtualLayout="false" verticalScrollPosition="0" />
プロパティ | 定義元 | ||
---|---|---|---|
clipAndEnableScrolling : Boolean
true の場合、ビューポートの境界に子をクリッピングするように指定します。 | LayoutBase | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
dropIndicator : DisplayObject
このレイアウトがドラッグ&ドロップ操作の間にドロップインジケーターに対して使用する DisplayObject です。 | LayoutBase | ||
horizontalScrollPosition : Number
コンポーネントの座標系における、ビューポートの原点の x 座標です。デフォルト値は (0,0) であり、これはコンポーネントの左上隅に対応します。 | LayoutBase | ||
target : GroupBase
このレイアウトによってエレメントが測定され、そのサイズと位置が設定される GroupBase コンテナです。 | LayoutBase | ||
typicalLayoutElement : ILayoutElement
固定の行 / 列サイズが要求されたときに、特定のサイズが指定されていない場合、レイアウトによって使用されます。 | LayoutBase | ||
useVirtualLayout : Boolean
1 つのコンテナには任意の数の子を追加できます。 | LayoutBase | ||
verticalScrollPosition : Number
コンポーネントの座標系における、ビューポートの原点の y 座標です。デフォルト値は (0,0) であり、これはコンポーネントの左上隅に対応します。 | LayoutBase |
メソッド | 定義元 | ||
---|---|---|---|
コンストラクターです。 | LayoutBase | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | OnDemandEventDispatcher | ||
指定した dragEvent に対するドロップターゲットのデータプロバイダー内でのドロップ位置を計算します。 | LayoutBase | ||
useVirtualLayout が true の場合、レイアウトターゲットが変化するときにターゲットでこのメソッドを使用すると、キャッシュされているレイアウト情報をクリアできます。 | LayoutBase | ||
イベントをイベントフローに送出します。 | OnDemandEventDispatcher | ||
レイアウトエレメントが追加されてからターゲットのサイズと表示リストが検証されるまでの間に、ターゲットで呼び出されます。 | LayoutBase | ||
このメソッドは、レイアウトエレメントが削除されてからターゲットのサイズと表示リストが検証されるまでの間に、ターゲットで呼び出されます。 | LayoutBase | ||
指定されたエレメントのレイアウト境界を矩形として返します。インデックスが無効の場合、対応するエレメントが null の場合、includeInLayout=false の場合、またはこのレイアウトの target プロパティが null の場合は、null を返します。 | LayoutBase | ||
異なるスクロールオプションを処理するために、水平スクロール位置に対する変更を返します。 | LayoutBase | ||
getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint, arrowKeysWrapFocus:Boolean):int
フォーカスを持っている現在のアイテムと NavigationUnit に関するユーザー入力に基づいてナビゲート先のアイテムを決定する委譲メソッドです。 | LayoutBase | ||
指定したインデックスにあるエレメントをビュー内にスクロールするために必要な verticalScrollPosition デルタと horizontalScrollPosition デルタを計算します。 | LayoutBase | ||
異なるスクロールオプションを処理するために、垂直スクロール位置に対する変更を返します。 | LayoutBase | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | OnDemandEventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
showDropIndicator() メソッドによって作成されて、以前に表示したドロップインジケーターを非表示にし、表示リストから削除して、ドラッグスクロールも停止します。 | LayoutBase | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
ターゲットのデフォルトサイズをそのコンテンツに基づいて測定します。また、必要に応じて、ターゲットのデフォルト最小サイズを測定します。 | LayoutBase | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | OnDemandEventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
指定したドロップ位置に基づいて、ドロップインジケーターのサイズ、位置、親を設定します。 | LayoutBase | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
ターゲットのエレメントのサイズと位置を設定します。 | LayoutBase | ||
レイアウトで scrollRect を更新するために、updateDisplayList の最後にターゲットによって呼び出されます。 | LayoutBase | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | OnDemandEventDispatcher |
メソッド | 定義元 | ||
---|---|---|---|
ドラッグ&ドロップ動作中の指定された dropLocation までのスクロール距離を計算します。 | LayoutBase | ||
ドラッグ&ドロップ動作中にユーザーが指定された座標でマウスを離した場合に、新しいアイテムを挿入するインデックスを返します。 | LayoutBase | ||
ドラッグ&ドロップ動作の終了時にアイテムが挿入される位置をユーザーに対して視覚的にフィードバックするドロップインジケーターの境界を計算します。 | LayoutBase | ||
scrollRect の上端にまたがっているか、その上にある最初のレイアウトエレメントの境界を返します。 | LayoutBase | ||
scrollRect の下端にまたがっているか、その下にある最初のレイアウトエレメントの境界を返します。 | LayoutBase | ||
scrollRect の左端にまたがっているか、その左にある最初のレイアウトエレメントの境界を返します。 | LayoutBase | ||
scrollRect の右端にまたがっているか、その右にある最初のレイアウトエレメントの境界を返します。 | LayoutBase | ||
レイアウト座標のターゲットのスクロール矩形の境界を返します。 | LayoutBase | ||
verticalScrollPosition プロパティまたは horizontalScrollPosition プロパティの変更時に呼び出されます。 | LayoutBase |
clipAndEnableScrolling | プロパティ |
clipAndEnableScrolling:Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
true
の場合、ビューポートの境界に子をクリッピングするように指定します。false
の場合、コンポーネントのサイズ指定に関係なく、コンテナの子がコンテナの境界を越えて拡張されます。
デフォルト値: false。
実装
public function get clipAndEnableScrolling():Boolean
public function set clipAndEnableScrolling(value:Boolean):void
dropIndicator | プロパティ |
dropIndicator:DisplayObject
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
このレイアウトがドラッグ&ドロップ操作の間にドロップインジケーターに対して使用する DisplayObject
です。通常は、このプロパティを直接設定することはなく、代わりにドロップターゲットのスキンクラスで dropIndicator
スキンパーツを定義します。
List コントロールは、DragEvent.DRAG_ENTER
イベントが発生すると、このプロパティを設定します。List は、このプロパティの初期値として自身の dropIndicator
スキンパーツを使用します。List は、DragEvent.DRAG_EXIT
イベントが発生すると、このプロパティをクリアします。
実装
public function get dropIndicator():DisplayObject
public function set dropIndicator(value:DisplayObject):void
horizontalScrollPosition | プロパティ |
horizontalScrollPosition:Number
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
コンポーネントの座標系における、ビューポートの原点の x 座標です。デフォルト値は (0,0) であり、これはコンポーネントの左上隅に対応します。clipAndEnableScrolling
が true
である場合、通常、このプロパティを設定するとビューポートが次の値に設定されます。
new Rectangle(horizontalScrollPosition, verticalScrollPosition, width, height)このプロパティの実装は Bindable である必要があり、
propertyChange
タイプのイベントを生成する必要があります。
デフォルト値: 0。
このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 propertyChange
イベントが送出されます。
実装
public function get horizontalScrollPosition():Number
public function set horizontalScrollPosition(value:Number):void
target | プロパティ |
target:GroupBase
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
このレイアウトによってエレメントが測定され、そのサイズと位置が設定される GroupBase コンテナです。
サブクラスは、setter をオーバーライドして、ターゲット固有のアクションを実行できます。例えば、3D レイアウトは、ここでターゲットの maintainProjectionCenter
プロパティを設定できます。
デフォルト値: null。
実装
public function get target():GroupBase
public function set target(value:GroupBase):void
関連する API エレメント
typicalLayoutElement | プロパティ |
typicalLayoutElement:ILayoutElement
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
固定の行 / 列サイズが要求されたときに、特定のサイズが指定されていない場合、レイアウトによって使用されます。ビュー内にスクロールされていないレイアウトエレメントのサイズを推定するために仮想レイアウトによって使用されます。
次の例に示すように、このプロパティは、コンテナのすべての子の高さを定義するために Flex で使用されるコンポーネントを参照します。
<s:Group> <s:layout> <s:VerticalLayout variableRowHeight="false" typicalLayoutElement="{b3}"/> </s:layout> <s:Button id="b1" label="Button 1"/> <s:Button id="b2" label="Button 2"/> <s:Button id="b3" label="Button 3" fontSize="36"/> <s:Button id="b4" label="Button 4" fontSize="24"/> </s:Group>
このプロパティが未設定であり、ターゲットが null 以外の場合は、ターゲットの最初のレイアウトエレメントがキャッシュされ、返されます。
デフォルト値は、ターゲットの最初のレイアウトエレメントです。
デフォルト値: null。
実装
public function get typicalLayoutElement():ILayoutElement
public function set typicalLayoutElement(value:ILayoutElement):void
関連する API エレメント
useVirtualLayout | プロパティ |
useVirtualLayout:Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
1 つのコンテナには任意の数の子を追加できます。ただし、すべての子にアイテムレンダラーのインスタンスが必要です。コンテナに多数の子が既にある場合、さらに子を追加しようとすると、パフォーマンスが低下することがあります。
すべての子に対してアイテムレンダラーを作成する代わりに、仮想レイアウトを使用するようにコンテナを設定することもできます。仮想レイアウトを使用する場合、コンテナはアイテムレンダラーを再利用し、現在表示されている子に対してのみアイテムレンダラーを作成します。コンテナがスクロールされて現在表示されている子が画面外に移動した場合、新しく画面上に移動してきた子は、前の子のアイテムレンダラーを再利用できます。
仮想レイアウトを使用するようにコンテナを設定するには、コンテナに関連付けられているレイアウトの useVirtualLayout
プロパティを true
に設定します。レイアウトが VerticalLayout、HorizontalLayout または TileLayout に設定された DataGroup または SkinnableDataContainer のみが仮想レイアウトをサポートします。 仮想化をサポートしていないレイアウトサブクラスは、このプロパティを変更しないようにする必要があります。
メモ:useVirtualLayout
を true
に設定すると、BasicLayout クラスはランタイムエラーをスローします。
true
の場合、仮想化をサポートするレイアウトは、getElementAt()
ではなく target.getVirtualElementAt()
メソッドを使用し、getScrollRect()
の値で表示されると予想されるエレメントのみを取得する必要があります。
true
の場合、レイアウトクラスは、レイアウトエレメントを取得してその境界を調べるのではなく、キャッシュされている情報のみに基づいて、updateDisplayList()
メソッド内で scrollRect
と重なるレイアウトエレメントのインデックスを計算できる必要があります。
通常、仮想レイアウトは、ビュー内のエレメントについて計算されたサイズと位置に基づいて、updateDisplayList()
メソッドの中でキャッシュされている情報を更新します。
同様に、measure()
メソッドを使用する場合、仮想レイアウトは、エレメントを測定するのではなく、typicalLayoutElement
および他のキャッシュされているレイアウト情報を基にして、ターゲットの測定されたサイズプロパティを更新する必要があります。
コンテナは、以前に作成されたものの使用されなくなっているアイテムレンダラーをリサイクルすることで、useVirtualLayout
= true
が設定されているレイアウトと協調します。コンテナの最後の updateDisplayList()
の呼び出しの間に要求された getVirtualElementAt()
インデックスの範囲内にインデックスがないアイテムは、現在使用されていないものと見なされます。
デフォルト値: false。
実装
public function get useVirtualLayout():Boolean
public function set useVirtualLayout(value:Boolean):void
関連する API エレメント
verticalScrollPosition | プロパティ |
verticalScrollPosition:Number
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
コンポーネントの座標系における、ビューポートの原点の y 座標です。デフォルト値は (0,0) であり、これはコンポーネントの左上隅に対応します。clipAndEnableScrolling
が true
である場合、通常、このプロパティを設定するとビューポートが次の値に設定されます。
new Rectangle(horizontalScrollPosition, verticalScrollPosition, width, height)このプロパティの実装は Bindable である必要があり、
propertyChange
タイプのイベントを生成する必要があります。
デフォルト値: 0。
このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 propertyChange
イベントが送出されます。
実装
public function get verticalScrollPosition():Number
public function set verticalScrollPosition(value:Number):void
LayoutBase | () | コンストラクター |
public function LayoutBase()
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
コンストラクターです。
calculateDragScrollDelta | () | メソッド |
protected function calculateDragScrollDelta(dropLocation:DropLocation, elapsedTime:Number):Point
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ドラッグ&ドロップ動作中の指定された dropLocation
までのスクロール距離を計算します。ドラッグスクロール中のスクロール距離を計算するために showDropIndicator()
メソッドによって呼び出されます。
パラメーター
dropLocation:DropLocation — calculateDropLocation() メソッドの呼び出しによって以前に取得した、有効な DropLocation オブジェクトです。
| |
elapsedTime:Number — ドラッグスクロールが開始してからの経過時間(ミリ秒単位)です。
|
Point — ドラッグスクロールの距離です。ドラッグスクロールが必要ない場合は null です。
|
関連する API エレメント
calculateDropIndex | () | メソッド |
protected function calculateDropIndex(x:Number, y:Number):int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ドラッグ&ドロップ動作中にユーザーが指定された座標でマウスを離した場合に、新しいアイテムを挿入するインデックスを返します。calculatedDropLocation()
メソッドによって呼び出されます。
パラメーター
x:Number — ローカル座標系における、ドラッグ&ドロップ動作の x 座標です。
| |
y:Number — ドロップターゲットのローカル座標系における、ドラッグ&ドロップ動作の y 座標です。
|
int — ドロップインデックスです。指定された座標でドロップ操作を使用できない場合は -1 です。
|
関連する API エレメント
calculateDropIndicatorBounds | () | メソッド |
protected function calculateDropIndicatorBounds(dropLocation:DropLocation):Rectangle
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ドラッグ&ドロップ動作の終了時にアイテムが挿入される位置をユーザーに対して視覚的にフィードバックするドロップインジケーターの境界を計算します。showDropIndicator()
メソッドによって呼び出されます。
パラメーター
dropLocation:DropLocation — calculateDropLocation() メソッドによって以前に返された有効な DropLocation オブジェクトです。
|
Rectangle — ドロップインジケーターの境界、または null です。
|
関連する API エレメント
calculateDropLocation | () | メソッド |
public function calculateDropLocation(dragEvent:DragEvent):DropLocation
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定した dragEvent
に対するドロップターゲットのデータプロバイダー内でのドロップ位置を計算します。
パラメーター
dragEvent:DragEvent — DragManager によって送出されたドラッグイベントです。
|
DropLocation — このイベントのドロップ位置を返します。ドロップ操作を使用できない場合は null を返します。
|
関連する API エレメント
clearVirtualLayoutCache | () | メソッド |
public function clearVirtualLayoutCache():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
useVirtualLayout
が true
の場合、レイアウトターゲットが変化するときにターゲットでこのメソッドを使用すると、キャッシュされているレイアウト情報をクリアできます。
例えば、DataGroup の dataProvider
または itemRenderer
プロパティが変化すると、キャッシュされているエレメントのサイズが無効になります。
useVirtualLayout
プロパティが false
に変化すると、このメソッドが自動的に呼び出されます。
useVirtualLayout
= true
をサポートするサブクラスは、このメソッドをオーバーライドする必要があります。
elementAdded | () | メソッド |
public function elementAdded(index:int):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
レイアウトエレメントが追加されてからターゲットのサイズと表示リストが検証されるまでの間に、ターゲットで呼び出されます。各エレメント状態をキャッシュするレイアウト(仮想レイアウトなど)では、このメソッドをオーバーライドしてキャッシュを更新できます。
ターゲットでこのメソッドを呼び出す場合は、updateDisplayList()
の呼び出し時に指定したインデックスにレイアウトエレメントが存在することのみが保証されます。例えば、仮想レイアウトを備えた DataGroup は、ターゲットの dataProvider
にアイテムが追加されると、このメソッドを呼び出します。
デフォルトでは、このメソッドは何も実行しません。
パラメーター
index:int — 追加されたエレメントのインデックスです。
|
関連する API エレメント
elementRemoved | () | メソッド |
public function elementRemoved(index:int):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
このメソッドは、レイアウトエレメントが削除されてからターゲットのサイズと表示リストが検証されるまでの間に、ターゲットで呼び出されます。各エレメント状態をキャッシュするレイアウト(仮想レイアウトなど)では、このメソッドをオーバーライドしてキャッシュを更新できます。
ターゲットでこのメソッドを呼び出す場合は、updateDisplayList()
の呼び出し時に指定したインデックスにレイアウトエレメントが存在しないことのみが保証されます。例えば、仮想レイアウトを備えた DataGroup は、dataProvider
プロパティにアイテムが追加されると、このメソッドを呼び出します。
デフォルトでは、このメソッドは何も実行しません。
パラメーター
index:int — 追加されたエレメントのインデックスです。
|
関連する API エレメント
getElementBounds | () | メソッド |
public function getElementBounds(index:int):Rectangle
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたエレメントのレイアウト境界を矩形として返します。インデックスが無効の場合、対応するエレメントが null の場合、includeInLayout=false
の場合、またはこのレイアウトの target
プロパティが null の場合は、null を返します。
useVirtualLayout=true
をサポートするレイアウトサブクラスは、このメソッドをオーバーライドして、ビューに表示されていないエレメントの概算値を計算する必要があります。
パラメーター
index:int — レイアウトエレメントのインデックスです。
|
Rectangle — 指定したエレメントのレイアウト境界です。
|
関連する API エレメント
getElementBoundsAboveScrollRect | () | メソッド |
protected function getElementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
scrollRect の上端にまたがっているか、その上にある最初のレイアウトエレメントの境界を返します。
これは、getVerticalScrollPositionDelta()
メソッドのデフォルト実装で使用される便利なメソッドです。getVerticalScrollPositionDelta()
のデフォルト実装を利用するサブクラスでは、このメソッドをオーバーライドして、有効な top
プロパティと bottom
プロパティを持つ境界矩形を正確に指定する必要があります。
デフォルトでは、このメソッドは、width=0、height=1(上端が scrollRect
の上端より 1 だけ小さい)、および left=0 の矩形を返します。
サブクラスでは、このメソッドをオーバーライドして、有効な top
プロパティと bottom
プロパティを持つ境界矩形を正確に指定する必要があります。
パラメーター
scrollRect:Rectangle — ターゲットの scrollRect です。
|
Rectangle — scrollRect の上端にまたがっているか、その上にある最初のエレメントの境界です。
|
関連する API エレメント
getElementBoundsBelowScrollRect | () | メソッド |
protected function getElementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
scrollRect の下端にまたがっているか、その下にある最初のレイアウトエレメントの境界を返します。
これは、getVerticalScrollPositionDelta()
メソッドのデフォルト実装で使用される便利なメソッドです。getVerticalScrollPositionDelta()
のデフォルト実装を利用するサブクラスでは、このメソッドをオーバーライドして、有効な top
プロパティと bottom
プロパティを持つ境界矩形を正確に指定する必要があります。
デフォルトでは、このメソッドは、width=0、height=1(下端が scrollRect
の下端より 1 だけ大きい)、および left=0 の矩形を返します。
パラメーター
scrollRect:Rectangle — ターゲットの scrollRect です。
|
Rectangle — scrollRect の下端にまたがっているか、その下にある最初のエレメントの境界です。
|
関連する API エレメント
getElementBoundsLeftOfScrollRect | () | メソッド |
protected function getElementBoundsLeftOfScrollRect(scrollRect:Rectangle):Rectangle
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
scrollRect の左端にまたがっているか、その左にある最初のレイアウトエレメントの境界を返します。
これは、getHorizontalScrollPositionDelta()
メソッドのデフォルト実装で使用される便利なメソッドです。getHorizontalScrollPositionDelta()
のデフォルト実装を利用するサブクラスでは、このメソッドをオーバーライドして、有効な left
プロパティと right
プロパティを持つ境界矩形を正確に指定する必要があります。
デフォルトでは、このメソッドは、width=1、height=0(左端が scrollRect
の左端より 1 だけ小さい)、および top=0 の矩形を返します。
パラメーター
scrollRect:Rectangle — ターゲットの scrollRect です。
|
Rectangle — scrollRect の左端にまたがっているか、その左にある最初のエレメントの境界です。
|
関連する API エレメント
getElementBoundsRightOfScrollRect | () | メソッド |
protected function getElementBoundsRightOfScrollRect(scrollRect:Rectangle):Rectangle
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
scrollRect の右端にまたがっているか、その右にある最初のレイアウトエレメントの境界を返します。
これは、getHorizontalScrollPositionDelta()
メソッドのデフォルト実装で使用される便利なメソッドです。getHorizontalScrollPositionDelta()
のデフォルト実装を利用するサブクラスでは、このメソッドをオーバーライドして、有効な left
プロパティと right
プロパティを持つ境界矩形を正確に指定する必要があります。
デフォルトでは、このメソッドは、width=1、height=0(右端が scrollRect
の右端より 1 だけ大きい)、および top=0 の矩形を返します。
パラメーター
scrollRect:Rectangle — ターゲットの scrollRect です。
|
Rectangle — scrollRect の右端にまたがっているか、その右にある最初のエレメントの境界です。
|
関連する API エレメント
getHorizontalScrollPositionDelta | () | メソッド |
public function getHorizontalScrollPositionDelta(navigationUnit:uint):Number
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
異なるスクロールオプションを処理するために、水平スクロール位置に対する変更を返します。END
、HOME
、LEFT
、PAGE_LEFT
、PAGE_RIGHT
、および RIGHT
オプションは、NavigationUnit クラスで定義されています。
パラメーター
navigationUnit:uint — 次の値を取ります。
実装では、 |
Number — 水平方向のスクロール位置に対する変更です。
|
関連する API エレメント
getNavigationDestinationIndex | () | メソッド |
public function getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint, arrowKeysWrapFocus:Boolean):int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
フォーカスを持っている現在のアイテムと NavigationUnit に関するユーザー入力に基づいてナビゲート先のアイテムを決定する委譲メソッドです。このメソッドは、キーボードナビゲーションを処理するために ListBase のサブクラスで使用されます。ListBase は、ユーザー入力を NavigationUnit 定数にマップします。
サブクラスは、このメソッドをオーバーライドして、検出された現在のインデックスとキーストロークに基づくその他の値を計算できます。
パラメーター
currentIndex:int — フォーカスを持つアイテムの現在のインデックスです。
| |
navigationUnit:uint — 次のナビゲート先のアイテムを決定する NavigationUnit 定数です。
| |
arrowKeysWrapFocus:Boolean — true の場合、矢印キーを使用してコンポーネント内を移動するときにどちらかの端に到達すると、位置が折り返されます。
|
int — ジャンプ先の次のアイテムのインデックスです。レイアウトで navigationUnit が認識されない場合は、-1 を返します。
|
getScrollPositionDeltaToElement | () | メソッド |
public function getScrollPositionDeltaToElement(index:int):Point
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定したインデックスにあるエレメントをビュー内にスクロールするために必要な verticalScrollPosition
デルタと horizontalScrollPosition
デルタを計算します。
このメソッドは、verticalScrollPosition
と horizontalScrollPosition
に対する変更が最小限になるように計算を行います。
clipAndEnableScrolling
が true
であり、指定したインデックスにあるエレメントをターゲットのスクロール矩形にすべて表示できない場合は、エレメントを完全にスクロール矩形の境界内にスクロールする horizontalScrollPosition
と verticalScrollPosition
に追加するデルタを返します。
パラメーター
index:int — ビュー内にスクロールするエレメントのインデックスです。
|
Point — 指定したエレメントをビュー内にスクロールする horizontalScrollPosition および verticalScrollPosition のオフセットを含むポイントです。変更が不要の場合は null です。指定したエレメントが部分的に表示されていてスクロール矩形より大きい場合は、そのエレメントが表示可能な唯一のエレメントになるので、null が返されます。指定したインデックスが無効の場合またはターゲットが null の場合は、null が返されます。指定したインデックスにあるエレメントが null の場合または includeInLayout が false の場合は、null が返されます。
|
関連する API エレメント
getScrollRect | () | メソッド |
getVerticalScrollPositionDelta | () | メソッド |
public function getVerticalScrollPositionDelta(navigationUnit:uint):Number
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
異なるスクロールオプションを処理するために、垂直スクロール位置に対する変更を返します。 DOWN
、END
、HOME
、PAGE_DOWN
、PAGE_UP
、および UP
オプションは、NavigationUnit クラスで定義されています。
パラメーター
navigationUnit:uint — 次の値を取ります。
PAGE_UP 実装では、 |
Number — 垂直方向のスクロール位置に対する変更です。
|
関連する API エレメント
hideDropIndicator | () | メソッド |
public function hideDropIndicator():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
showDropIndicator()
メソッドによって作成されて、以前に表示したドロップインジケーターを非表示にし、表示リストから削除して、ドラッグスクロールも停止します。
関連する API エレメント
measure | () | メソッド |
public function measure():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ターゲットのデフォルトサイズをそのコンテンツに基づいて測定します。また、必要に応じて、ターゲットのデフォルト最小サイズを測定します。
これは、LayoutBase のサブクラスを作成するときにオーバーライドする必要のあるメソッドの 1 つです。これを行う必要のあるもう 1 つのメソッドは、updateDisplayList()
です。これらのメソッドは、直接呼び出しません。Flex は、このメソッドをレイアウトパスの一部として呼び出します。レイアウトパスは、3 つの段階から構成されます。
最初に、ターゲットのプロパティが無効の場合、LayoutManager は、ターゲットの commitProperties
メソッドを呼び出します。
2 番目に、ターゲットのサイズが無効の場合、LayoutManager は、ターゲットの validateSize()
メソッドを呼び出します。ターゲットの validateSize()
は、次にレイアウトの measure()
を呼び出し、ターゲットのデフォルトサイズを計算します(ターゲットの explicitWidth
プロパティと explicitHeight
プロパティの両方で明示的に指定されなかった場合)。デフォルトサイズが変更された場合、Flex は、ターゲットの表示リストを無効にします。
最後に、ターゲットの表示リストが無効の場合、LayoutManager は、ターゲットの validateDisplayList
を呼び出します。ターゲットの validateDisplayList
は次に、レイアウトの updateDisplayList
メソッドを呼び出し、ターゲットのエレメントのサイズと位置を設定します。
このメソッドを実装する場合は、ターゲットの measuredWidth
プロパティと measuredHeight
プロパティを設定し、ターゲットのデフォルトサイズを定義する必要があります。必要な場合は、measuredMinWidth
プロパティと measuredMinHeight
プロパティを設定して、デフォルトの最小サイズを定義することもできます。一般的な実装では、ターゲットのエレメントが繰り返し処理され、ILayoutElement
で定義されたメソッドを使用して、エレメントの推奨 / 最小サイズを収集します。次に、ターゲットの measuredWidth
、measuredHeight
、measuredMinWidth
および measuredMinHeight
を設定します。
関連する API エレメント
scrollPositionChanged | () | メソッド |
protected function scrollPositionChanged():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
verticalScrollPosition
プロパティまたは horizontalScrollPosition
プロパティの変更時に呼び出されます。
デフォルト実装では、updateScrollRect()
を呼び出すことにより、ターゲットの scrollRect
プロパティが更新されます。サブクラスは、このメソッドをオーバーライドして、現在の scrollPosition
または scrollRect
に基づく別の値を計算できます。
関連する API エレメント
showDropIndicator | () | メソッド |
public function showDropIndicator(dropLocation:DropLocation):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定したドロップ位置に基づいて、ドロップインジケーターのサイズ、位置、親を設定します。DropLocation オブジェクトを取得するには calculateDropLocation()
メソッドを使用します。
必要条件が満たされた場合は、ドラッグスクロールを開始または停止します。
パラメーター
dropLocation:DropLocation — ドロップインジケーターを表示する位置を指定します。ドロップ位置は computeDropLocation() メソッドを使用して取得します。
|
関連する API エレメント
updateDisplayList | () | メソッド |
public function updateDisplayList(width:Number, height:Number):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ターゲットのエレメントのサイズと位置を設定します。
これは、LayoutBase のサブクラスを作成するときにオーバーライドする必要のあるメソッドの 1 つです。これを行う必要のあるもう 1 つのメソッドは、measure()
です。これらのメソッドは、直接呼び出しません。Flex は、このメソッドをレイアウトパスの一部として呼び出します。レイアウトパスは、3 つの段階から構成されます。
最初に、ターゲットのプロパティが無効の場合、LayoutManager は、ターゲットの commitProperties
メソッドを呼び出します。
2 番目に、ターゲットのサイズが無効の場合、LayoutManager は、ターゲットの validateSize()
メソッドを呼び出します。ターゲットの validateSize()
は、次にレイアウトの measure()
を呼び出し、ターゲットのデフォルトサイズを計算します(ターゲットの explicitWidth
プロパティと explicitHeight
プロパティの両方で明示的に指定されなかった場合)。デフォルトサイズが変更された場合、Flex は、ターゲットの表示リストを無効にします。
最後に、ターゲットの表示リストが無効の場合、LayoutManager は、ターゲットの validateDisplayList
を呼び出します。ターゲットの validateDisplayList
は次に、レイアウトの updateDisplayList
メソッドを呼び出し、ターゲットのエレメントのサイズと位置を設定します。
一般的な実装では、ターゲットのエレメントが繰り返し処理され、ILayoutElement
で定義されるメソッドを使用して、エレメントの配置とサイズ変更を行います。次に、レイアウトは、ターゲットの contentWidth
プロパティと contentHeight
プロパティを計算および設定して、ターゲットのスクロール領域を定義する必要があります。
パラメーター
width:Number — ターゲットの座標内で、ターゲットの幅をピクセル単位で指定します。
| |
height:Number — ターゲットの座標内で、ターゲットの高さをピクセル単位で指定します。
|
関連する API エレメント
updateScrollRect | () | メソッド |
public function updateScrollRect(w:Number, h:Number):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
レイアウトで scrollRect を更新するために、updateDisplayList
の最後にターゲットによって呼び出されます。
clipAndEnableScrolling
が true
の場合、デフォルトの実装では、ターゲットの scrollRect
の原点は verticalScrollPosition
、horizontalScrollPosition
に設定されます。サイズは、width
、height
パラメーター(ターゲットの伸縮されていない幅と高さ)に設定されます。
clipAndEnableScrolling
が false
の場合、デフォルト実装では、scrollRect
が null に設定されます。
パラメーター
w:Number — ターゲットの幅です。
| |
h:Number — ターゲットの高さです。
|
関連する API エレメント
Tue Jun 12 2018, 10:34 AM Z