<s:DataRenderer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DataRenderer Properties data="" Events dataChange="No default" />]]>
注意:このクラスは今後のリリースで削除される可能性があります。
このプロパティは Bindable です。これにより、「dataChange」イベントが送出されます。
<s:TextArea>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TextArea Properties heightInLines="Calculated default" [Spark theme only] textFlow="TextFlow" [Spark theme only] typicalText=null [Spark theme only] widthInChars="Calculated default" [Spark theme only] Styles horizontalScrollPolicy="auto" [Spark theme only] symbolColor="" verticalScrollPolicy="auto" [Spark theme only] />]]>
Spark テーマのスキンは RichEditableText クラスを使用します。つまり、Spark の TextArea コントロールは、Flash Text Engine(FTE)上に構築される Text Layout Framework(TLF)ライブラリをサポートしています。これらのレイヤーを組み合わせることにより、国際化対応の高品質な文字体裁とレイアウト機能を備えたテキスト編集が可能になります。このスキンには、テキストをスクロールするための水平方向と垂直方向のスクロールバーを表示し、マウスホイールによる垂直スクロールをサポートするスクローラーが含まれています。RichEditableText には
モバイルテーマのスキンは StyleableStageText クラスを使用します。 StyleableStageText はネイティブテキストフィールドを使用するので、モバイルデバイス上のテキストの入力および操作がしやすくなりますが、いくつかの
テキストのフォーマットは、
Spark テーマの場合は、
モバイルテーマの場合、ソフトキーボード固有のプロパティである、
Spark テーマのテキスト領域
Spark の TextArea と MX の TextArea コントロールの最も重要な違いは、次のとおりです。
Spark の TextArea コンロールでは、リッチテキストの TLF オブジェクト指向モデルが使用されます。このモデルでは、区分、段落、スパン、ハイパーリンク、画像などのテキストレイアウト要素が ActionScript オブジェクトによって実行時に表現されます。これらのオブジェクトは、プログラムを通じてアクセスして操作できます。リッチテキストを表す TLF の中心的なオブジェクトは TextFlow です。TextArea コントロールに対してリッチテキストを指定するには、コントロールの
複数のフォーマットが混在するテキストを表示する必要がない場合は、TextArea の
次の例に示すように、コンパイル時に、TLF マークアップタグを TextArea タグ内に配置できます。
<s:TextArea>Hello <s:span fontWeight="bold">World!</s:span></s:TextArea>この例では、MXML コンパイラーによって TextArea の
TextArea コントロールには、テキストのフォーマットを変更するためのユーザーインターフェイスはありませんが、プログラムを通じてテキストをフォーマットするために使用できる API が含まれています。例えば、クリックすると、選択したテキストが太字になるようなボタンを作成できます。
デフォルトのテキストフォーマットは、
TextArea コンテンツの特性には、スタイルを使用して制御できるものが数多くあります。次に一般的な特性の一部を示します。
デフォルトでは、コントロールの右端でテキストが折り返されます。テキストの量が TextArea に収まりきらない場合は、垂直スクロールバーが自動的に表示されます。
Spark の TextArea では、フランス語のように左から右(LTR)に読まれるテキスト、アラビア語のように右から左(RTL)に読まれるテキスト、またはフランス語のフレーズを含むアラビア語のように双方向から読まれるテキストを表示できます。主に右から左へのテキストを使用する場合は、
Spark の TextArea では、1 回の編集セッション内で取り消し / やり直し操作を何度でも実行できます。編集セッションは、コントロールがキーボードフォーカスを取得したときに開始され、コントロールがフォーカスを失ったときに終了します。
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
Spark テーマの場合、TextArea コントロールには、次のデフォルトの特性があります。
Mobile テーマの場合、TextArea コントロールには、次のデフォルトの特性があります。
<s:TextArea>Hello <s:span fontWeight="bold">World</s:span></s:TextArea>この例では、コンテンツとして指定した String と SpanElement を使用して TextFlow が作成されます。
このプロパティは Object として型指定されています。Object は、String、FlowElement、または String と FlowElement の配列に設定できます。上記の例では、2 つのエレメントで構成される配列がコンテンツになります。最初の配列エレメントは「Hello」という String です。2 番目の配列エレメントは、太字の「World」というテキストを含む SpanElement オブジェクトです。
コンテンツの指定方法にかかわらず、コンテンツは TextFlow オブジェクトに変換されます。このプロパティの値を取得すると、変換後の TextFlow オブジェクトが取得されます。
Mobile テーマの場合、これはサポートされていません。
Spark テーマの場合、spark.components.RichEditableText.heightInLines を参照してください
Mobile テーマの場合、これはサポートされていません。
Spark テーマの場合、spark.components.RichEditableText.textFlow を参照してください
Mobile テーマの場合、これはサポートされていません。
Spark テーマの場合、spark.components.RichEditableText.widthInChars を参照してください
Mobile テーマの場合、これはサポートされていません。
<s:Grid>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Grid Properties />]]>
Grid コンポーネントは、DataGrid のスキンパーツまたはその他のカスタム複合コンポーネントのエレメントとして使用されるように意図されています。そのため、スキナブルではなく、スクローラーやスクロールバーもなく、マウスやキーボードのイベントのデフォルト処理も用意されていません。
表示可能な Grid の各セルは
Grid コントロールは、
Grid コントロールは、
Grid コントロールでは、スムーズスクロールがサポートされます。垂直方向と水平方向のスクロール位置によって、グリッドの表示部分のピクセル原点が定義され、グリッドのレイアウトには、使用可能なスペースを埋めるのに必要な数のセルアイテムレンダラーのみが表示されます。
Grid コントロールでは、アイテムレンダラーのコンテンツに基づいて、自身の高さを自動的に計算して高さが変化する行がサポートされます。 このサポートは、グリッドの仮想化と呼ばれます。これは(ピクセルの)スクロール位置から行インデックスと列インデックスへのマッピングが、通常はグリッドセルの推奨サイズに関する不完全な情報に基づいているためです。Grid では、ビューにスクロールされた行の高さの計算結果がキャッシュされ、1 つの
DataGrid アイテムレンダラーのトランジションがサポートされていません。 GridItemRenderer クラスの
次のサンプル関数では、このメソッドを使用してグリッドセルの
function getCellData(x:Number, y:Number):Object { var cell:CellPosition = getCellAt(x, y); if (!cell) return null; var GridColumn:column = grid.columns.getItemAt(cell.columnIndex); return grid.dataProvider.getItemAt(cell.rowIndex)[column.dataField]; }
指定された行およびその行の前にあるすべての行に対するすべての列がビュー内にスクロールされていない場合、返される境界は、列のすべての
指定された行およびその行の前にあるすべての行に対するすべての列がビュー内にスクロールされていない場合、返される値は、列のすべての
指定された行およびその行の前にあるすべての行に対するすべての列がビュー内にスクロールされていない場合、返される値は、列のすべての
指定された列内のすべてのセルがビュー内にスクロールされていない場合、返される境界は、列の
グリッドのすべての列または行がビュー内にスクロールされていない場合、返されるインデックスは、列のすべての
指定された列の幅プロパティが定義されていない場合、戻り値は単なる近似値の可能性があります。 実際の列幅は、列がビュー内にスクロールされた後にのみ計算されます。
要求されたアイテムレンダラーが非表示の場合、このメソッドが呼び出されるたびに新規アイテムレンダラーが作成されます。新規アイテムレンダラーは非表示です。
指定された列に明示的な幅が設定されていない場合、このセルの幅は
指定された行およびその行の前にあるすべての行に対するすべての列がビュー内にスクロールされていない場合、返される境界は、列のすべての
グリッドのすべての列または行がビュー内にスクロールされていない場合、返されるインデックスは、列のすべての
次のサンプル関数ではこのメソッドを使用して、表示されている GridColumn オブジェクトのベクトルを計算します。
function getVisibleColumns():Vector.<GridColumn> { var visibleColumns = new Vector.<GridColumn>; for each (var columnIndex:int in grid.getVisibleColumnIndices()) visibleColumns.push(grid.columns.getItemAt(columnIndex)); return visibleColumns; }
columnIndex が -1 の場合は、行全体が無効化されます。同様に、
このメソッドは、
アイテムが
この暗黙的な「selectAll」モードは、次のいずれかが発生すると終わります。
セル領域全体がグリッドに含まれていない場合は、このメソッドが無視されます。
各インデックスは、選択範囲に含めるデータプロバイダーのアイテムを表します。
グリッドイベントハンドラーでは、このプロパティを使用して、Shift キーを押していない最新のマウスダウンまたは次に Shift を押して選択する可能性がある選択範囲の一方の端を定義するキーボードイベントの場所を記録する必要があります。もう一方の端は、キャレットインデックスで定義します。
グリッドイベントハンドラーでは、このプロパティを使用して、Shift キーを押していない最新のマウスダウンまたは次に Shift を押して選択する可能性がある選択範囲の一方の端を定義するキーボードイベントの場所を記録する必要があります。もう一方の端は、キャレットインデックスで定義します。
GridColumn オブジェクトを表示できるのは、1 つの Grid コントロールの
グリッドの実際のサイズが明示的に設定されている場合は、このプロパティが無視されます。
次のいずれかの条件に該当する場合は、このプロパティが無視されます。
次のいずれかの条件に該当する場合は、このプロパティが無視されます。
次のいずれかの条件に該当する場合は、このプロパティが無視されます。
グリッドの実際のサイズが明示的に設定されている場合は、このプロパティが無視されます。
ユーザーがコントロールを操作して選択範囲を変更すると、コントロールが
このプロパティは、MXML マークアップ内の選択範囲の初期化またはバインドに使用するために用意されています。
ユーザーがコントロールを操作して選択範囲を変更すると、コントロールが
このプロパティは、MXML マークアップ内の選択範囲の初期化またはバインドに使用するために用意されています。
デフォルト値は空の
ユーザーがコントロールを操作して選択範囲を変更すると、コントロールが
このプロパティは、MXML マークアップ内の選択範囲の初期化またはバインドに使用するために用意されています。
ユーザーがコントロールを操作して選択範囲を変更すると、コントロールが
このプロパティは、MXML マークアップ内の選択範囲の初期化またはバインドに使用するために用意されています。 setSelectedCell() メソッドは、例えばキーボードやマウスのイベントハンドラーを作成するときなど、プログラムで選択範囲を更新する場合に使用する必要があります。
>デフォルト値は空の
ユーザーがコントロールを操作して選択範囲を変更すると、コントロールが
このプロパティは、MXML マークアップ内の選択範囲の初期化またはバインドに使用するために用意されています。
ユーザーがコントロールを操作して選択範囲を変更すると、コントロールが
このプロパティは、MXML マークアップ内の選択範囲の初期化またはバインドに使用するために用意されています。 setSelectedCell() メソッドは、例えばキーボードやマウスのイベントハンドラーを作成するときなど、プログラムで選択範囲を更新する場合に使用する必要があります。
デフォルト値は空の
selectionMode を変更すると、現在の選択範囲がクリアされて、caretRowIndex と caretColumnIndex が -1 に設定されます。
制限:
<s:Application>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Application Properties applicationDPI=Device dependent" backgroundColor="0xFFFFFF" colorCorrection="default" controlBarContent="null" controlBarLayout="HorizontalLayout" controlBarVisible="true" frameRate="24" pageTitle"" preloader="No default" preloaderChromeColor="No default" resizeForSoftKeyboard=true" runtimeDPIProvider="RuntimeDPIProvider" scriptRecursionLimit="1000" scriptTimeLimit="60" splashScreenImage="" splashScreenMinimumDisplayTime="1000" splashScreenScaleMode="none" usePreloader="true" viewSourceURL="" xmlns:No default="No default" Events applicationComplete="No default" error="No default" />]]>
Application コンテナには、次のデフォルトの特性があります。
メモ:このプロパティは ActionScript コードでは設定できません。MXML コードで設定する必要があります。
メモ:このプロパティは ActionScript コードでは設定できません。MXML コードで設定する必要があります。MXML コードに設定されている値は、SDK に用意されている HTML テンプレートを更新するツールで使用できるように設計されています。
メモ:このプロパティは ActionScript コードでは設定できません。MXML コードで設定する必要があります。
このプロパティは、カスタムプログレスインジケーターを定義するコンポーネントのパスを指定するために使用します。カスタムプログレスインジケーターを作成するには、通常、SparkDownloadProgressBar または DownloadProgressBar クラスのサブクラスを作成するか、mx.preloaders.IPreloaderDisplay インターフェイスを実装する flash.display.Sprite クラスのサブクラスを作成します。
メモ:このプロパティは ActionScript コードでは設定できません。MXML コードで設定する必要があります。
メモ:このプロパティは ActionScript コードでは設定できません。MXML コードで設定する必要があります。
注意:このプロパティは、
注意:デスクトップアプリケーションでスプラッシュ画面をサポートするには、frameworks¥libs¥mobile¥mobilecomponents.swc をアプリケーションのライブラリパスに追加する必要があります。
イメージでカバーされないステージの部分は、Application コンテナの
注意:このプロパティは、
注意:デスクトップアプリケーションでスプラッシュ画面をサポートするには、frameworks¥libs¥mobile¥mobilecomponents.swc をアプリケーションのライブラリパスに追加する必要があります。
メモ:このプロパティは ActionScript コードでは設定できません。MXML コードで設定する必要があります。
メインアプリケーションのみが
メモ:Application コンテナは
for-in ループを使用すると、パラメーター Object からすべての名前と値を抽出できます。
パラメーターは、Application の URL のクエリストリングと、FlashVars HTML パラメーターの値の 2 つから提供されます。HTML パラメーターはメイン Application にのみ影響します。
アプリケーションのサイズ変更を有効にするには、アプリケーションの xml 記述ファイルの
Flex のデフォルトマッピングは次のとおりです。
splashScreenImage="@Embed('Default.png')"
注意:このプロパティは、
注意:デスクトップアプリケーションでスプラッシュ画面をサポートするには、frameworks¥libs¥mobile¥mobilecomponents.swc をアプリケーションのライブラリパスに追加する必要があります。
次の例に示すように、
<Application viewSourceURL="http://path/to/source"> ... </Application>
<s:Button>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Button Properties emphasized="false" />]]>
通常、ボタンはイベントリスナーを使用して、ユーザーがコントロールを選択したときのアクションを実行します。Button コントロールのマウスをクリックしたときに Button コントロールが有効である場合は、
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
Button コントロールには、次のデフォルトの特性があります。
<s:CheckBox>
tag inherits all of the tag
attributes of its superclass and adds the following attributes:
<s:CheckBox Properties symbolColor="0x000000" />]]>
ユーザーが CheckBox コンポーネントまたはそれに関連付けられたテキストをクリックすると、CheckBox コンポーネントの
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
CheckBox コントロールには、次のデフォルトの特性があります。
<s:Group>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Group Properties blendMode="auto" mxmlContent="null" scaleGridBottom="null" scaleGridLeft="null" scaleGridRight="null" scaleGridTop="null" Events elementAdd="No default" elementRemove="No default" />]]>
パフォーマンスを向上させると共にアプリケーションのサイズを最小限に抑えるため、Group コンテナにはスキンを適用できません。スキンを適用するには、代わりに SkinnableContainer を使用します。
メモ:コンポーネントや別の Group など、Group の内部に DisplayObject の子がある場合、スケールグリッドが正しく機能しないことがあります。子が GraphicElement オブジェクトで、それらすべてが Group の DisplayObject を共有する場合、スケールグリッドは正しく機能します。
子の GraphicElement で次のいずれかのプロパティを設定すると、GraphicElement は独自の DisplayObject を作成する必要があり、したがって Group でのスケールグリッドプロパティは否定されます。
alpha blendMode other than BlendMode.NORMAL or "auto" colorTransform filters mask matrix rotation scaling 3D properties bounds outside the extent of the Group
Group コンテナには、次のデフォルトの特性があります。
"auto"(デフォルト)は、blendMode を Group が使用する場合に固有の値で、基盤となる blendMode を
コンテンツアイテムは、IVisualElement オブジェクトのみである必要があります。ビジュアルエレメントは一度に 1 つのコンテナ内でのみ使用できるため、
コンテンツが配列である場合は、その配列を直接変更しないでください。代わりに、Group クラスによって定義されたメソッドを使用します。
<s:TextInput>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TextInput Properties widthInChars="Calculated default" [applies to Spark theme] Events enter="No default" />]]>
Spark テーマの TextInput スキンは RichEditableText クラスを使用します。つまり、Spark の TextInput コントロールは、Flash Text Engine(FTE)上に構築される Text Layout Framework(TLF)ライブラリをサポートしています。これらのレイヤーを組み合わせることにより、国際化対応の高品質な文字体裁とレイアウト機能を備えたテキスト編集が可能になります。
モバイルテーマの TextInput スキンは、RichEditableText ではなく StyleableStageText クラスを使用します。 StyleableStageText はネイティブテキストフィールドを使用するので、モバイルデバイス上のテキストの入力および操作がしやすくなりますが、考慮すべき
テキストのフォーマットは、
Spark テーマでは、
モバイルテーマの場合、ソフトキーボード固有のプロパティである、
このコントロールは複数行のテキスト入力をサポートしないので、ユーザーが Enter キーを押すと、改行が挿入される代わりに、
このコントロールはスキナブルコントロールで、デフォルトスキンには、Spark テーマの場合は RichEditableText インスタンスが含まれ、Mobile テーマの場合は StyleableStageText インスタンスが含まれます。 それがテキストの表示および編集を処理します。また、このスキンは境界線と背景の描画も処理します。この RichEditableText または StyleableStageText インスタンスには
Spark テーマの場合、RichEditableText では TLF が使用されるので、Spark 版の TextInput コントロールではフランス語のように左から右(LTR)に読まれるテキスト、アラビア語のように右から左(RTL)に読まれるテキスト、またはフランス語のフレーズを含むアラビア語のように双方向から読まれるテキストを表示できます。 主に右から左へのテキストを使用する場合は、
また、Spark の TextInput では TLF が使用されるので、1 回の編集セッション内で取り消し / やり直し操作を何度でも実行できます。編集セッションは、コントロールがキーボードフォーカスを取得したときに開始され、コントロールがフォーカスを失ったときに終了します。
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
Spark テーマの場合、TextInput コントロールには、次のデフォルトの特性があります。
Mobile テーマの場合、TextInput コントロールには、次のデフォルトの特性があります。
em は活字の測定単位で、ポイントサイズと同じです。必ずしも「M」の文字の幅と正確に一致しているわけではありませんが、多くのフォントでは、「M」が約 1 em の幅になっています。コントロールの
例えば、約 20 文字のテキストを入力できるように TextInput の幅を設定する必要がある場合は、このプロパティを 20 に設定します。
明示的な値、パーセント、または
Mobile テーマの場合、これはサポートされていません。
<s:Form>
tag inherits all the tag
attributes of its superclass and adds no new tag attributes:
<s:Form> ... child tags ... </s:Form>]]>
次の表に、Flex でフォームを作成するために使用するコンポーネントを示します。
下位要素が Form から削除されると、ディクショナリは更新されません。
<s:NumericStepper>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:NumericStepper Properties imeMode="null" maxChars="0" maximum="10" valueFormatFunction="" valueParseFunction="" Styles alignmentBaseline="USE_DOMINANT_BASELINE" baselineShift="0.0" blockProgression="TB" borderAlpha="0.5" borderColor="0x000000" borderVisible="true" breakOpportunity="AUTO" cffHinting="HORIZONTAL_STEM" color="0" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" clearFloats="none" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" firstBaselineOffset="AUTO" focusedTextSelectionColor="" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" inactiveTextSelection="" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" leadingModel="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="CFF" tabStops="null" textAlign="START" textAlignLast="START" textAlpha="1" textDecoration="NONE" textIndent="0" textJustify="INTER_WORD" textRotation="AUTO" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" unfocusedTextSelectionColor="" whiteSpaceCollapse="COLLAPSE" wordSpacing="100%,50%,150%" />]]>
NumericStepper コントロールは、単一行のテキスト入力フィールドと、使用できる値を表示するための 2 つの矢印ボタンから構成されます。上矢印キー、下矢印キーおよびマウスホイールを使用して値を変更することもできます。ユーザーが Enter キーを押すか、コンポーネントのフォーカスを外すか、あるいは矢印ボタンの操作または
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
NumericStepper コントロールには、次のデフォルトの特性があります。
spark.skins.spark.NumericStepperTextInputSkin
flash.system.IMEConversionMode クラスで、このプロパティの有効な値の定数を定義します。IME を指定しない場合は、
この関数のシグネチャは次のとおりです。
funcName(value:Number):String
この関数のシグネチャは次のとおりです。
funcName(value:String):Number
<s:Spinner>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Spinner Properties allowValueWrap="false" Events change="No default" Styles cornerRadius="2" focusAlpha="0.5" focusColor="0x70B2EE" symbolColor="0x000000" />]]>
Spinner は、現在の値を増やすためのボタンと現在の値を減らすためのボタンという、2 つの必須ボタンで構成されます。ユーザーは、上矢印キーと下矢印キーおよびマウスホイールを使用して値を変更することもできます。ユーザーが Enter キーを押すか、コンポーネントのフォーカスを外すか、あるいは矢印ボタンの操作または
Spinner コンポーネントのスケールは、
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
Spinner コントロールには、次のデフォルトの特性があります。
コンポーネントは、それ自身のサイズ(
コンポーネントのもう 1 つのオプションは、そのスケールを変更する方法です。この場合、子を変更する必要はまったくありません。このオプションは、
コンポーネントは常にそれ自体のサイズを設定してから、レイアウトまたはユーザーによって指定された実際のサイズでその子をレイアウトします。
コンポーネントは常にそれ自体のサイズを設定してから、その測定されたサイズでその子をレイアウトします。スケールは、レイアウトまたはユーザーによって指定されたサイズに一致するように調整されます。
<s:NavigatorContent>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:NavigatorContent Properties icon="null" label="" />]]>
NavigatorContent コンテナは、MX ナビゲーターコンテナの外では使用しないでください。
NavigatorContent コンテナの作成ポリシーは、親のナビゲーターコンテナの作成ポリシーに基づいています。
NavigatorContent コンテナでは、作成ポリシーのキューはサポートされません。
NavigatorContent コンテナには、次のデフォルトの特性があります。
例えば、この Container が TabNavigator の子である場合、対応するタブにこのアイコンが表示されます。この Container が Accordion の子である場合、対応するヘッダーにこのアイコンが表示されます。
SWF ファイルにアイコンを埋め込むには、次の @Embed() MXML コンパイラーディレクティブを使用します。
icon="@Embed('filepath')"
イメージには JPEG、GIF、PNG、SVG、または SWF ファイルを使用できます。
例えば、この Container が TabNavigator の子である場合、対応するタブにこのストリングが表示されます。この Container が Accordion の子である場合、対応するヘッダーにこのストリングが表示されます。
<s:VSlider>
tag inherits all of the tag
attributes of its superclass and adds no tag attributes:
<s:VSlider/>]]>
スライダーは、最小値から最大値までの範囲を無段階に移動できるか、または最小値から最大値までの範囲内で段階的にのみ移動できます。 データヒントを使用して現在の値を表示できます。
VSlider コントロールには、次のデフォルトの特性があります。
spark.skins.spark.VSliderThumbSkin
spark.skins.spark.VSliderTrackSkin
<s:ToggleButton>
tag inherits all of the tag
attributes of its superclass and adds no tag attributes:
<s:ToggleButton/>]]>
プログラムで
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
ToggleButton コントロールには、次のデフォルトの特性があります。
<s:FormHeading>
tag inherits all the tag
attributes of its superclass and adds no new tag attributes:
<s:FormHeading Properties label="" Common Styles alignmentBaseline="baseline" baselineShift="0" cffHinting="0.0" color="0x000000" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" fontFamily="Arial" fontLookup="embeddedCFF" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="false" ligatureLevel="common" lineBreak="toFit" lineHeight="120%" lineThrough="false%" locale="en" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" renderingMode="cff" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="start" textJustify="interWord" trackingLeft="0" trackingRight="00" typographicCase="default" verticalAlign="top" Mobile Styles leading="2" letterSpacing="0" />]]>
<s:HScrollBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:HScrollBar Properties viewport="" />]]>
HScrollBar コントロールは単独のコントロールとしても使用できますが、通常はコンポーネントの他のグループに構成部分として組み込み、スクロール機能を実現します。
HScrollBar コントロールには、次のデフォルトの特性があります。
spark.skins.spark.HScrollBarThumbSkin
spark.skins.spark.HScrollBarTrackSkin
デフォルトの動作は、「ステップ」数
イベントに対して
<s:SkinnablePopUpContainer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnablePopUpContainer Events close="No default" open="No default" />]]>
SkinnablePopUpContainer コンテナは、親コンテナの通常のレイアウトの一部として作成しないでください。このコンテナは、親の上にポップアップウィンドウとして表示されます。そのため、アプリケーションの MXML コードにこのコンテナを直接作成しないでください。
代わりに、MXML コンポーネントとして、多くの場合は別の MXML ファイルに作成します。このコンポーネントを表示するには、MXML コンポーネントのインスタンスを作成して、
コンポーネントを閉じるには、
SkinnablePopUpContainer は、最初は
SkinnablePopUpContainer コンテナには、次のデフォルトの特性があります。
このイベントは、コンテナが
このイベントによって、コンテナからイベントリスナーにコミット情報を渡すメカニズムが提供されます。この方法は、一般的に、キャンセルボタンのある複数選択ダイアログボックスを作成する場合などに使用します。 有効なオプションが選択されている場合、
このイベントは、コンテナが
ポップアップからメインアプリケーションにデータを戻すには、SkinnablePopUpContainer コンテナの
<s:DropDownList>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DropDownList Properties prompt="" typicalItem="null" Events closed="No default" open="No default" />]]>
DropDownList コントロールは、アンカーボタン、プロンプト領域、およびドロップダウンリストで構成されます。ドロップダウンリストを開いたり閉じたりするには、アンカーボタンを使用します。プロンプト領域には、プロンプトのストリングまたはドロップダウンリストで選択されているアイテムが表示されます。
ドロップダウンリストが開いているときは次のようになります。
メモ:Spark のリストベースのコントロール(Spark の ListBase クラスと、そのサブクラスである ButtonBar、ComboBox、DropDownList、List、TabBar)では、BasicLayout クラスを
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
DropDownList コントロールには、次のデフォルトの特性があります。
コンテナは、一般的なデータアイテムと、関連付けられたアイテムレンダラーを使用して、コンテナの子のデフォルトサイズを決定します。一般的なアイテムを定義することによって、コンテナは、それぞれの子を画面上に描画するときにそれらのサイズを決定する必要がなくなります。
このプロパティを設定すると、レイアウトの
制限:
メモ:
<s:GridColumnHeaderGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GridColumnHeaderGroup Properties columnSeperator="null" dataGrid="null" downColumnIndex="-1" headerRenderer="null" hoverColumnIndex="-1" visibleSortIndicatorIndices="empty Vector.<int>" Styles paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" separatorAffordance="5" Events gridClick="No default" gridDoubleClick="No default" gridMouseDown="No default" gridMouseDrag="No default" gridMouseUp="No default" gridMouseRollOut="No default" gridMouseRollOver="No default" separatorClick="No default" separatorDoubleClick="No default" separatorMouseDrag="No default" separatorMouseUp="No default" separatorMouseRollOut="No default" separatorMouseRollOver="No default" />]]>
ヘッダーは
指定された列の前にある表示可能なすべてのセルがビュー内にスクロールされていない場合、返される境界は、Grid のすべての
グリッドのすべての列または行がビュー内にスクロールされていない場合、返されるインデックスは、すべての列の
要求されたヘッダーレンダラーが非表示の場合、このメソッドが呼び出されるたびに新規ヘッダーレンダラーが作成されます。新規アイテムレンダラーは非表示です。
返されたレンダラーの幅が DataGrid/getItemRendererAt() によって返されたアイテムレンダラーの幅と同じです。
x 座標がセパレーターの水平方向の中央の
このコンポーネントの
グリッドのすべての列または行がビュー内にスクロールされていない場合、返されるインデックスは、すべての列の
visibleSortIndicatorIndices.indexOf(columnIndex) != -1
<s:PopUpAnchor>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:PopUpAnchor Properties displayPopUp="false" popUp="" popUpHeightMatchesAnchorHeight="false" popUpPosition="topLeft" popUpWidthMatchesAnchorWidth="false" />]]>
PopUpAnchor コントロールには、次のデフォルトの特性があります。
デフォルトでは、Spark コントロールのドロップインジケーターは、コントロールの幅全体の実線になります。ドロップターゲットのカスタムスキンクラスを作成することにより、カスタムドロップインジケーターを作成します。スキンクラスの <fx:Declarations> 領域に
<s:List>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:List Properties allowMultipleSelection="false" dragEnabled="false" dragMoveEnabled="false" dropEnabled="false" selectedIndices="null" selectedItems="null" useVirtualLayout="true" Styles alternatingItemColors="undefined" borderAlpha="1.0" borderColor="0#CCCCCC" borderVisible="true" contentBackgroundColor="0xFFFFFF" downColor="0xA8C6EE" dragIndicator="ListItemDragProxy" dropIndicatorSkin="ListDropIndicator" rollOverColor="0xCEDBEF" selectionColor="0xA8C6EE" symbolColor="0x000000" />]]>
メモ:Spark のリストベースのコントロール(Spark の ListBase クラスと、そのサブクラスである ButtonBar、ComboBox、DropDownList、List、TabBar)では、BasicLayout クラスを
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
List コントロールには、次のデフォルトの特性があります。
このメソッドは、ドラッグ & ドロップによるコピー作成で使用されます。
このプロパティを
このプロパティを「off」以外に変更すると、エレメントが正しい位置に「スナップ」されるように、スクロール位置が即座に変更される場合があります。このスクロール位置の変更はアニメーション化されません。
メモ:このプロパティは、Flash Player で使用される
通常このプロパティは
このプロパティが設定されていて、List スキンに Scroller スキンパーツが含まれている場合、このプロパティの効果は Scroller にも適用されます。
この値が
<s:BorderContainer>
tag inherits all the tag attributes
of its superclass, and adds the following tag attributes:
<s:BorderContainer Properties backgroundFill="null" borderStroke="null" Styles backgroundImage="undefined" backgroundImageFillMode="scale" borderAlpha="1.0" borderColor="0xB7BABC" borderStyle="solid" borderVisible="true" borderWeight="1" cornerRadius="0" dropShadowVisible="false" />]]>
メモ:BorderContainer の外観の制御には CSS スタイルとクラスプロパティを使用するので、通常カスタムスキンは作成しません。カスタムスキンを作成する場合は、コンテナの外観を制御するスタイルをスキンクラスで適用する必要があります。
デフォルトでは、境界線の角は丸められます。角を丸めないようにするには、線の
BorderContainer コンテナには、次のデフォルトの特性があります。
次の例では、
<s:BorderContainer cornerRadius="10"> <s:backgroundFill> <s:SolidColor color="red" alpha="1"/> </s:backgroundFill> </s:BorderContainer>
次の例では、
<s:BorderContainer cornerRadius="10"> <s:borderStroke> <mx:SolidColorStroke color="black" weight="3"/> </s:borderStroke> </s:BorderContainer>
アイテムレンダラーのホストコンポーネントは
List や ButtonBar などのコントロールの場合、
<s:VideoPlayer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VideoPlayer Properties autoDisplayFirstFrame="true" autoPlay="true" autoRewind="true" loop="false" muted="false" pauseWhenHidden="true" scaleMode="letterbox" source="" volume="1" Events bytesLoadedChange="No default" complete="No default" currentTimeChange="No default" durationChange="No default" mediaPlayerStateChange="No default" Styles alignmentBaseline="baseline" baselineShift="0" cffHinting="0.0" color="0x000000" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" dropShadowVisible="true" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="false" ligatureLevel="common" lineHeight="120%" lineThrough="false%" locale="en" renderingMode="cff" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="start" textJustify="interWord" trackingLeft="0" trackingRight="00" typographicCase="default" />]]>
VideoPlayer コントロールには、次のデフォルトの特性があります。
このイベントは、ソースが null に設定されている場合や再生エラーが発生した場合には送出されないことがあります。
このイベントは、ソースが null に設定されている場合や再生エラーが発生した場合には送出されないことがあります。
このイベントは、ソースが null に設定されている場合や再生エラーが発生した場合には送出されないことがあります。
<s:ButtonBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ButtonBar />]]>
通常、ボタンバーのプッシュボタンは、関連するボタンをグループ化して共通の外観と操作性を提供し、1 か所で
ButtonBar コントロールは、その
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
モバイル以外のプロジェクトでは、ButtonBar コントロールを使用すると ViewStack コンテナのアクティブな子を設定できます。次に例を示します。
メモ:Spark のリストベースのコントロール(Spark の ListBase クラスと、そのサブクラスである ButtonBar、ComboBox、DropDownList、List、TabBar)では、BasicLayout クラスを
<s:ButtonBar dataProvider="{myViewStack}" requireSelection="true" /> <mx:ViewStack id="myViewStack" borderStyle="solid"> <s:NavigatorContent id="search" label="Search"> <s:Label text="Search Screen"/> </s:NavigatorContent> <s:NavigatorContent id="custInfo" label="Customer Info"> <s:Label text="Customer Info"/> </s:NavigatorContent> <s:NavigatorContent id="accountInfo" label="Account Info"> <s:Label text="Account Info"/> </s:NavigatorContent> </mx:ViewStack>
ButtonBar コントロールには、次のデフォルトの特性があります。
<s:Label>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Label Properties fontContext="" Styles alignmentBaseline="baseline" baselineShift="0" cffHinting="0.0" color="0x000000" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" fontFamily="Arial" fontLookup="embeddedCFF" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="false" ligatureLevel="common" lineBreak="toFit" lineHeight="120%" lineThrough="false" locale="en" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" renderingMode="cff" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="start" textJustify="interWord" trackingLeft="0" trackingRight="00" typographicCase="default" verticalAlign="top" />]]>
Label では、国際化対応の高品質な文字体裁を提供するために、Flash Player 内で Flash Text Engine(FTE)が使用されます。Label は高速で軽いので、アイテムレンダラーや Button スキンのラベルなど、少量の非インタラクティブテキストを数多くレンダリングする場合に特に適しています。
必要な機能だけを提供するという理念に基づき、Spark アーキテクチャには 3 つのテキストプリミティブ(Label、RichText および RichEditableText)が用意されています。Label は最も高速で軽量ですが、機能は限られており、複雑なフォーマット設定、スクロール、選択、編集、ハイパーリンクはサポートされません。RichText と RichEditableText は、FTE ではなく Text Layout Framework(TLF)ライブラリをベースとして作成されます。RichText には、複雑なフォーマット設定を含む HTML などのテキストをレンダリングする機能が追加されていますが、インタラクティブ機能はサポートされません。RichEditableText は最も低速で重いですが、仮想化された TextLine を使用したスクロール、選択、編集、ハイパーリンク、URL からの画像のロードなどがすべてサポートされます。ニーズに合わせて、最も軽量なものを使用してください。
Spark の Label コントロールは MX の Label コントロール mx.controls.Label に似ています。最も重要な違いは、次のとおりです。
Spark·の·Label·では、CR(
Label の幅が指定されていない場合は、明示的な改行により各行の長さが決定され、最も長い行に合わせて Label の幅が決定されます。
この自動折り返しを無効にするには、
Label では、表示領域を超える量のテキストがある場合、テキストを自動的に切り詰めることができます。テキストを切り詰めるとは、余分なテキストを "..." などの切り詰めインジケーターに置き換えることです。継承プロパティ
行の間隔は
デフォルトでは、Label には背景がありませんが、
Label では、フランス語のように左から右(LTR)に読まれるテキスト、アラビア語のように右から左(RTL)に読まれるテキスト、またはフランス語のフレーズを含むアラビア語の段落のように双方向から読まれるテキストを表示できます。主に右から左へのテキストを使用する場合は、
Label では Flash Text Engine の TextBlock クラスを使用して 1 つまたは複数の TextLine オブジェクトが作成され、CSS スタイルで定義されたフォーマットで text String が静的に表示されます。パフォーマンス上の理由から、TextLine には個々の字形の情報は格納されません。詳しくは、flash.text.engine.TextLineValidity.STATIC を参照してください。
Label コントロールには、次のデフォルトの特性があります。
<s:RichEditableText>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:RichEditableText Properties clipAndEnableScrolling="false|true" contentHeight="Calculated default" contentWidth="Calculated default" displayAsPassword="false" editable="true" heightInLines="NaN" horizontalScrollPosition="0" imeMode="null" maxChars="0" multiline="true" restrict="null" selectable="true" selectionActivePosition="-1" selectionAnchorPosition="-1" selectionHighlighting="TextSelectionHighlighting.WHEN_FOCUSED" text="" textFlow="TextFlow" typicalText=null verticalScrollPosition="0" widthInChars="NaN" Events change="No default" changing="No default" enter="No default" selectionChange="No default" />]]>
リッチテキストには、クリック可能なハイパーリンク、埋め込み式のインライングラフィック、他の URL からロードされるグラフィックなどが含まれている場合があります。
RichEditableText にはスクロールバーはありませんが、プログラムを通じてスクロールするための IViewport インターフェイスが実装されているので、スクロールバーを表示できる Scroller で制御できます。また、マウスホイールを使用した垂直スクロールもサポートされています。
テキストのフォーマットを変更するためのユーザーインターフェイスはありません。ただし、プログラムを通じて変更を行うための API が用意されています。これらの API を使用すると、選択範囲を太字に変更する太字ボタンなどを作成することができます。
このクラスは、Spark 版の TextInput と TextArea のスキンで使用されます。TextInput ではリッチテキストを処理する機能は公開されていませんが、TextArea では公開されています。デフォルトでは、RichEditableText の背景は透明で、境界線の描画はサポートされていません。
RichEditableText では、Text Layout Framework(TLF)ライブラリが使用されます。このライブラリは、Flash Player 10 の新しい Flash Text Engine(FTE)をベースとして作成されています。これらのレイヤーを組み合わせることにより、国際化対応の高品質な文字体裁とレイアウト機能を備えたテキスト編集が可能になります。
Spark アーキテクチャには 3 つのテキストプリミティブ(Label、RichText および RichEditableText)が用意されています。Label は TLF を使用せず FTE のみを使用するので、最も高速で軽いですが、機能は限られており、リッチテキスト、スクロール、選択、編集はサポートされません。RichText には、複雑なレイアウト設定を含むリッチテキストを表示する機能が追加されていますが、インタラクティブ機能はサポートされません。RichEditableText は最も重いですが、TLF で実行できるほとんどの機能がサポートされます。通常は、ニーズに合わせて最も高速なテキストプリミティブを使用します。
RichEditableText は、MX コンポーネントで使用される UITextField クラスに似ています。このクラスでは FTE および TLF は使用されず、古い TextField クラスが拡張されています。
UITextField と RichEditableText の最も重要な違いは、次のとおりです。
RichEditableText では、リッチテキストの TLF オブジェクト指向モデルが使用されます。このモデルでは、区分、段落、スパン、ハイパーリンク、画像などのテキストレイアウト要素が ActionScript オブジェクトによって実行時に表現されます。これらのオブジェクトは、プログラムを通じてアクセスして操作できます。リッチテキストを表す TLF の中心的なオブジェクトは TextFlow です。そのため、RichEditableText コントロールに対してリッチテキストを指定するには、RichEditableText の
次の例に示すように、コンパイル時に、TLF マークアップタグを RichEditableText タグ内に配置できます。
<s:RichEditableText>Hello <s:span fontWeight="bold">World!</s:span></s:RichEditableText>この例では、MXML コンパイラーによって、
デフォルトのテキストフォーマットは、
行の間隔は
デフォルトでは、RichEditableText のサイズは自動的に設定されます。テキストがない場合は非常に小さなサイズから始まり、テキストが入力されるにつれて
明示的な値、パーセント、
テキストの編集を許可しない場合は、
RichEditableText では TLF が使用されるので、フランス語のように左から右(LTR)に読まれるテキスト、アラビア語のように右から左(RTL)に読まれるテキスト、またはフランス語のフレーズを含むアラビア語のように双方向から読まれるテキストを表示できます。主に右から左へのテキストを使用する場合は、
RichEditableText では TLF が使用されるので、1 回の編集セッション内で取り消し / やり直し操作を何度でも実行できます。編集セッションは、コンポーネントがキーボードフォーカスを取得したときに開始され、フォーカスを失ったときに終了します。
RichEditableText は TLF の TextContainerManager クラスを使用して、テキストの表示、スクロール、選択、編集およびコンテキストメニューを処理します。
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
続いて挿入ポイントが新しいテキストの後に設定されます。挿入ポイントが表示されるように、必要に応じてテキストがスクロールされます。
範囲全体のフォーマット設定が一貫していない場合、その値は
特定のフォーマットの名前を含む String の Vector を指定できます。指定しない場合は、すべてのフォーマットが計算されます。
範囲を指定しない場合、選択された範囲が使用されます。
範囲を選択した場合は、選択したテキストが新しいテキストに置き換えられます。挿入ポイントがある場合は、その位置に新しいテキストが挿入されます。
続いて挿入ポイントが新しいテキストの後に設定されます。挿入ポイントが表示されるように、必要に応じてテキストがスクロールされます。
どちらかの位置が負の場合、テキスト範囲の選択が解除されます。
サポートされるフォーマットは、TextLayoutFormat 内のフォーマットです。
次の例では、選択箇所の
var textLayoutFormat:TextLayoutFormat = new TextLayoutFormat(); textLayoutFormat.fontSize = 12; textLayoutFormat.color = 0xFF0000; myRET.setFormatOfRange(textLayoutFormat);
すべてのテキストに適用するフォーマットを指定する場合は、
次の例では、すべてのテキストの
myRET.setStyle("fontSize", 12); myRET.setStyle("color", 0xFF0000);
Text Layout Framework ではパフォーマンス向上のために TextLine が仮想化されるので、コンポーネント内にすべてのテキストを表示できない場合、この高さの初期値は予測値になります。テキストの最後までスクロールすると、すべての TextLine が作成されて、
テキストを縦にスクロールするには、
Text Layout Framework ではパフォーマンス向上のために TextLine が仮想化されるので、コンポーネント内にすべてのテキストを表示できない場合、この幅の初期値は予測値になります。テキストの最後までスクロールすると、すべての TextLine が作成されて、
テキストを横にスクロールするには、
<s:RichEditableText>Hello <s:span fontWeight="bold"/>World</s:span></s:RichEditableText>この場合は、コンテンツとして指定した String と SpanElement を使用して TextFlow が作成されます。
このプロパティは Object として型指定されています。Object は、String、FlowElement、または String と FlowElement の配列に設定できます。上記の例では、2 つのエレメントで構成される配列をコンテンツと指定しています。最初のエレメントは「Hello」という String で、2 番目のエレメントは太字の「World」というテキストを含む SpanElement です。
指定方法にかかわらず、コンテンツは TextFlow オブジェクトに変換されます。このプロパティの値を取得すると、変換後の TextFlow オブジェクトが取得されます。
リッチテキストコンテンツは Object ではなく TextFlow として厳密に型指定されているので、実行時のリッチテキストコンテンツの取得と設定には
このプロパティが
例えば、5 行のテキストを表示できるように RichEditableText の高さを設定する必要がある場合は、このプロパティを 5 に設定します。
このプロパティが
明示的な値、パーセント、または
RichEditableText の
テキストを横にスクロールするには、
flash.system.IMEConversionMode クラスで、このプロパティの有効な値の定数を定義します。IME を指定しない場合は、
テキストを選択可能にすると、コントロールのテキストをコピーできます。
このプロパティは、
アクティブな位置は、選択範囲の開始点または終了点のいずれかです。
例えば、12 の位置から 8 の位置までをドラッグして選択すると、
値が -1 の場合は、設定されていないことを示します。
アンカー位置は、選択範囲の開始点または終了点のいずれかです。
例えば、12 の位置から 8 の位置までをドラッグして選択すると、
値が -1 の場合は、設定されていないことを示します。
有効な値は、spark.components.TextSelectionHighlighting クラスで指定されています。有効な値は、
TextFlow は、Text Layout Framework(TLF)で最も重要なクラスです。このクラスは、リッチテキストコンテンツを表す FlowElements のツリーのルートです。
通常、TLF マークアップから TextFlow を作成するには、
このプロパティと
テキストに CR("¥r")、LF("¥n")、または CR+LF("¥r¥n")という明示的な改行が含まれている場合は、それぞれに 1 つのスパンを含む複数の段落で構成された TextFlow がコンテンツになります。
このプロパティを設定すると、コントロールのスクロール位置とテキストの選択範囲を指定するプロパティにも影響します。
TextFlow オブジェクトを TLF マークアップに変えるには、
1 つの TextFlow を複数の RichEditableText インスタンスで共有することはできません。別のインスタンスで同じテキストを表示するには、
このプロパティと
テキストに CR("¥r")、LF("¥n")、または CR+LF("¥r¥n")という明示的な改行が含まれている場合は、それぞれに 1 つのスパンを含む複数の段落で構成された TextFlow がコンテンツになります。
このプロパティを設定すると、コントロールのスクロール位置とテキストの選択範囲を指定するプロパティにも影響します。
明示的な値、パーセント、または
このプロパティを使用すると、
テキストを縦にスクロールするには、
em は活字の測定単位で、ポイントサイズと同じです。必ずしも「M」の文字の幅と正確に一致しているわけではありませんが、多くのフォントでは、「M」が約 1 em の幅になっています。コントロールの
例えば、約 20 文字のテキストを表示できるように RichEditableText の幅を設定する必要がある場合は、このプロパティを 20 に設定します。
このプロパティが
明示的な値、パーセント、または
RichEditableText の
Flex では、ウィンドウは自動的に閉じられません。閉じるアイコンをサポートするには、
このスキンパーツでは、フォーカスが無効になります。
TitleWindow コンテナをドラッグするには、ウィンドウのタイトルバー領域でマウスポインターをクリックしたままでマウスを移動します。移動領域を変更するカスタムスキンクラスを作成します。
<s:TitleWindow>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TitleWindow> Events close="No default" windowMove="No default" windowMoveEnd="No default" windowMoveStart="No default" windowMoving="No default" </s:TitleWindow>]]>
TitleWindow は、ポップアップウィンドウとして設計されています。アプリケーションの一部として、MXML 内に TitleWindow を作成しないでください。その代わりに、一般的には、TitleWindow クラスに基づいてカスタム MXML コンポーネントを作成し、
TitleWindow コンテナには、次のデフォルトサイズ設定属性があります。
<s:TabBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TabBar Styles cornerRadius="4" />]]>
タブのセットは
TabBar コントロールを使用すると ViewStack コンテナのアクティブな子を設定できます。次に例を示します。
メモ:Spark のリストベースのコントロール(Spark の ListBase クラスと、そのサブクラスである ButtonBar、ComboBox、DropDownList、List、TabBar)では、BasicLayout クラスを
<s:TabBar dataProvider="{myViewStack}"/> <mx:ViewStack id="myViewStack" borderStyle="solid"> <s:NavigatorContent id="search" label="Search"> <s:Label text="Search Screen"/> </s:NavigatorContent> <s:NavigatorContent id="custInfo" label="Customer Info"> <s:Label text="Customer Info"/> </s:NavigatorContent> <s:NavigatorContent id="accountInfo" label="Account Info"> <s:Label text="Account Info"/> </s:NavigatorContent> </mx:ViewStack>
TabBar コンテナには、次のデフォルトの特性があります。
<s:RadioButton>
tag inherits all of the tag
attributes of its superclass, and adds the following tag attributes:
<s:RadioButton Properties enabled="" group="the automatically created default RadioButtonGroup" groupName="radioGroup" value="null" />]]>
RadioButton グループでは、
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
RadioButton コンポーネントには、次のデフォルトの特性があります。
RadioButtonGroup に追加するラジオボタンを作成するときは、すべてのボタンで
アイテムレンダラーのホストコンポーネントは
List や ButtonBar などのコントロールの場合、
<s:Panel>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Panel Properties controlBarContent="null" controlBarLayout="HorizontalLayout" controlBarVisible="true" title="" Styles borderAlpha="0.5" borderColor="0" borderVisible="true" cornerRadius="0" dropShadowVisible="true" > ... child tags ... </s:Panel>]]>
Panel コンテナには、次のデフォルトの特性があります。
メモ:Panel コンテナは
<s:HGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:HGroup Properties columnWidth="no default" gap="6" horizontalAlign="left" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedColumnCount="-1" requestedMaxColumnCount="-1" requestedMinColumnCount="-1" variableColumnWidth"true" verticalAlign="top" />]]>
HGroup コンテナには、次のデフォルトの特性があります。
アイテムレンダラーを定義するクラスには、IItemRenderer インターフェイスを実装する必要があります。
アイテムレンダラーの
<s:FormItem>
tag inherits all the tag
attributes of its superclass and adds no new tag attributes:
<s:FormItem Properties helpContent="null" label="" required="false" sequenceLabel="" Common Styles errorIndicatorSource="assets/ErrorIndicator.png" requiredIndicatorSource="assets/RequiredIndicator.png" Mobile Styles leading="2" letterSpacing="0" />]]>
このプロパティは、スキンの状態のみを制御します。入力を検証する必要がある場合は、子に検証を割り当てる必要があります。
<s:SkinnableContainer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableContainer Properties autoLayout="true" creationPolicy="auto" layout="BasicLayout" Styles accentColor="0x0099FF" alignmentBaseline="useDominantBaseline" alternatingItemColors="" backgroundAlpha="1.0" backgroundColor="0xFFFFFF" baselineShift="0.0" blockProgression="TB" breakOpportunity="auto" cffHinting="horizontal_stem" clearFloats="none" color="0" contentBackgroundAlpha="" contentBackgroundColor="" digitCase="default" digitWidth="default" direction="LTR" dominantBaseline="auto" downColor="" firstBaselineOffset="auto" focusColor="" focusedTextSelectionColor="" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" inactiveTextSelectionColor="0xE8E8E8" justificationRule="auto" justificationStyle="auto" kerning="auto" leadingModel="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="CFF" rollOverColor="" symbolColor="" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="inter_word" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="" verticalScrollPolicy="auto" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" Events elementAdd="No default" elementRemove="No default" />]]>
パフォーマンスを向上させると共にアプリケーションのサイズを最小限に抑えるため、Group コンテナを使用できます。Group コンテナにはスキンを適用できません。
SkinnableContainer コンテナには、次のデフォルトの特性があります。
パーツにビヘイビアーを追加するには、この関数をオーバーライドします。基本クラスから継承したスキンパーツのビヘイビアーをオーバーライドする場合は、
パーツからビヘイビアーを削除するには、この関数をオーバーライドします。
<s:RichText>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:RichText Properties fontContext="IFlexModuleFactory" luminosityClip="false" luminosityInvert="false" maskType="MaskType.CLIP" textFlow="TextFlow" />]]>
パフォーマンス上の理由から、スクロール、選択、編集、クリック可能なハイパーリンク、URL からロードされる画像はサポートされません。これらの機能が必要な場合は、RichEditableText クラスの説明を参照してください。
RichText では、Text Layout Framework(TLF)ライブラリが使用されます。このライブラリは、Flash Player 10 の Flash Text Engine(FTE)をベースとして作成されています。これらの機能を組み合わせることにより、国際化対応の高品質な文字体裁を使用したリッチテキストレイアウトが可能になります。
Spark アーキテクチャには 3 つのテキストプリミティブ(Label、RichText および RichEditableText)が用意されています。Label は TLF を使用せず FTE のみを使用するので、最も高速で軽いですが、機能は限られており、リッチテキスト、スクロール、選択、編集はサポートされません。RichText には、複雑なレイアウト設定を含むリッチテキストを表示する機能が追加されていますが、インタラクティブ機能はサポートされません。RichEditableText は最も重いですが、TLF で実行できるほとんどの機能がサポートされます。ニーズに合わせて、最も軽量なテキストプリミティブを使用してください。
RichText は MX の mx.controls.Text コントロールに似ています。Text コントロールでは、テキストの表示に TLF ではなく、古い TextField クラスが使用されます。
RichText と Text の最も重要な違いは、次のとおりです。
RichText では、リッチテキストの TLF オブジェクト指向モデルが使用されます。このモデルでは、区分、段落、スパン、画像などのテキストレイアウト要素が ActionScript オブジェクトによって実行時に表現されます。これらのオブジェクトは、プログラムを通じてアクセスして操作できます。リッチテキストを表す TLF の中心的なオブジェクトは TextFlow です。RichText の表示内容を指定するには、RichText の
次の例に示すように、コンパイル時に、TLF マークアップタグを RichText タグ内に配置できます。
<s:RichText>Hello <s:span fontWeight="bold">World!</s:span></s:RichText>この例では、MXML コンパイラーによって、
デフォルトのテキストフォーマットは、
行の間隔は
RichText の幅が指定されていない場合は、明示的な改行により各行の長さが決定され、最も長い行に合わせて Label の幅が決定されます。
幅を指定すると、コンポーネントの右端でテキストが折り返され、表示領域にテキストが収まりきらない場合は、テキストが切り詰められます。
RichText では、表示領域を超える量のテキストがある場合、テキストを自動的に切り詰めることができます。テキストを切り詰めるとは、余分なテキストを "..." などの切り詰めインジケーターに置き換えることです。継承プロパティ
デフォルトでは、RichText には背景がありませんが、
RichText では TLF が使用されるので、フランス語のように左から右(LTR)に読まれるテキスト、アラビア語のように右から左(RTL)に読まれるテキスト、またはフランス語のフレーズを含むアラビア語のように双方向から読まれるテキストを表示できます。主に右から左へのテキストを使用する場合は、
RichText では TLF の StringTextFlowFactory クラスと TextFlowTextLineFactory クラスを使用して 1 つまたは複数の TextLine オブジェクトが作成され、テキストが静的に表示されます。パフォーマンス上の理由から、TextLine には個々の字形の情報は格納されません。詳しくは、TextLineValidity クラスを参照してください。
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
<s:RichText>Hello <s:span fontWeight="bold"/>World</s:span></s:RichText>この場合は、コンテンツとして指定した String と SpanElement を使用して TextFlow が作成されます。
このプロパティは Object として型指定されています。Object は、String、FlowElement、または String と FlowElement の配列に設定できます。上記の例では、2 つのエレメントで構成される配列をコンテンツと指定しています。最初のエレメントは「Hello」という String で、2 番目のエレメントは太字の「World」というテキストを含む SpanElement です。
指定方法にかかわらず、コンテンツは TextFlow オブジェクトに変換されます。このプロパティの値を取得すると、変換後の TextFlow オブジェクトが取得されます。
リッチテキストコンテンツは Object ではなく TextFlow として厳密に型指定されているので、実行時のリッチテキストコンテンツの取得と設定には
maskType は、コンポーネントにマスクを適用する方法を定義します。
有効な値は、
クリップマスク
クリップモードでマスクを適用すると、クリッピングマスクが 1 ビットに減らされます。つまり、マスクはソースコンテンツのピクセルの不透明度に影響しません。マスクの対応するピクセルのアルファ値がゼロ以外の場合この値は変更されず、マスクのピクセルのアルファ値がゼロの場合は完全に透明になります。
クリップマスクを使用すると、実際のパスとシェイプベクトルおよびマスクで定義されている塗りを使用して、ソースコンテンツに対するエフェクトが決定されます。マスクで定義されている線とビットマップフィルターは無視されます。マスクの塗りつぶされた領域は塗りつぶされているものと見なされて、ソースコンテンツがレンダリングされます。塗りのタイプとパラメーターは無視されます。マスクの塗りのアルファ値に関係なく、マスクの単色塗り、グラデーション塗り、またはビットマップ塗りの設定に基づいて、ソースコンテンツがレンダリングされます。
クリッピングマスクで使用した場合、BitmapGraphics はビットマップ塗りの矩形として扱われます。そのため、ソースビットマップのアルファチャンネルは、マスクの一部であっても無視されます。ビットマップは、等しい寸法で単色塗りの矩形をレンダリングする場合と同じ影響をマスクに与えます。
アルファマスク
アルファモードでは、ソースコンテンツの各ピクセルの不透明度に、マスクの対応する領域の不透明度が乗算されます。つまり、不透明度が 1 に設定されたソースコンテンツのピクセルが、不透明度 0.5 の領域でマスクされると、最終的な不透明度は 0.5 になります。不透明度が 0.8 のソースピクセルが不透明度 0.5 の領域でマスクされると、最終的な不透明度は 0.4 になります。
概念的に言うと、アルファマスクは、変換後のマスクとソースコンテンツを異なる RGBA サーフェスに描画し、マスクコンテンツのアルファチャンネルとソースコンテンツのアルファチャンネルを乗算することと同じです。すべてのマスクコンテンツが固有のサーフェスに描画された後で、ソースコンテンツのサーフェスに合成されます。そのため、線、ビットマップフィルター、塗りの不透明度などの FXG 機能はすべて、最終的に合成されるコンテンツに影響を与えます。
アルファモードの場合、ビットマップデータのアルファチャンネルは、通常どおりマスクのアルファチャンネルに合成され、最終的にレンダリングされるコンテンツに反映されます。これは、BitmapGraphics にも、ビットマップ塗りのシェイプやパスにも当てはまります。
輝度マスキング
"soft mask" と呼ばれることもある輝度マスクは、ソースコンテンツのピクセルの不透明度と RGB カラー値の両方がマスクの対応する領域の不透明度と RGB カラー値で乗算される点以外は、アルファマスクと非常によく似た働きをします。
概念的に言うと、輝度マスクは、変換後のマスクとソースコンテンツを異なる RGBA サーフェスに描画し、マスクコンテンツのアルファチャンネルおよび RGB カラー値とソースコンテンツのアルファチャンネルおよび RGB カラー値を乗算することと同じです。すべてのマスクコンテンツが固有のサーフェスに描画された後で、ソースコンテンツのサーフェスに合成されます。そのため、線、ビットマップフィルター、塗りの不透明度などの FXG 機能はすべて、最終的に合成されるコンテンツに影響を与えます。
輝度マスキングは Flash ネイティブではありませんが、Adobe Illustrator や Adobe Photoshop などの Adobe Creative Suite ツールで共通の機能です。Flash でレンダリングされるコンテンツの輝度マスクの視覚効果を実現するために、輝度マスクを指定するグラフィックエレメントでは、Adobe Creative Suite ツールでレンダリングされる輝度マスクの外観表示を模倣するシェーダーフィルターを実際にインスタンス化しています。
輝度マスクによってマスクされているオブジェクトは、RGB カラー値とマスクのクリッピングを制御するプロパティを設定できます。luminosityInvert 属性および luminosityClip 属性を参照してください。
TextFlow は、Text Layout Framework(TLF)で最も重要なクラスです。このクラスは、リッチテキストコンテンツを表す FlowElements のツリーのルートです。
通常、TLF マークアップから TextFlow を作成するには、
このプロパティと
テキストに CR(
TextFlow オブジェクトを TLF マークアップに変えるには、
<s:SkinnableDataContainer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableDataContainer Properties autoLayout="true" dataProvider="null" itemRenderer="null" itemRendererFunction="null" layout="VerticalLayout" typicalItem="null" Styles alignmentBaseline="useDominantBaseline" baselineShift="0.0" cffHinting="horizontal_stem" color="0" digitCase="default" digitWidth="default" direction="LTR" dominantBaseline="auto" focusAlpha="0.55" focusColor="" focusThickness="2" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" locale="en" renderingMode="CFF" textAlign="start" textAlignLast="start" textAlpha="1" textJustify="inter_word" trackingLeft="0" trackingRight="0" typographicCase="default" Events rendererAdd="No default" rendererRemove="No default" />]]>
SkinnableDataContainer クラスは、データアイテムまたは IVisualElement インターフェイスを実装して DisplayObject であるビジュアルエレメントを、子として受け取ります。データアイテムは、String オブジェクトや Number オブジェクトなどの単純なデータアイテムであることも、Object オブジェクトや XMLNode オブジェクトなどのより複雑なデータアイテムであることもあります。これらのコンテナはビジュアルエレメントを保持できますが、通常は、データアイテムを子として保持する目的でのみ使用されます。
アイテムレンダラーは、コンテナ内のデータアイテムの視覚的な表現を定義します。アイテムレンダラーは、コンテナによって表示できる形式にデータアイテムを変換します。データアイテムを適切にレンダリングするには、アイテムレンダラーを SkinnableDataContainer に渡す必要があります。
データアイテムのコンテナは必要でも、スキンは必要ない場合は、DataGroup(スキンにはできません)を使用してパフォーマンスとアプリケーションのサイズを向上させることをお勧めします。
SkinnableDataContainer コンテナには、次のデフォルトの特性があります。
<s:Scroller>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Scroller Properties measuredSizeIncludesScrollBars="true" minViewportInset="0" viewport="null" Styles alignmentBaseline="use_dominant_baseline" alternatingItemColors="" baselineShift="0.0" blockProgression="TB" breakOpportunity="auto" cffHinting="horizontal_stem" clearFloats="none" color="0" contentBackgroundAlpha="" contentBackgroundColor="" digitCase="default" digitWidth="default" direction="LTR" dominantBaseline="auto" downColor="" firstBaselineOffset="auto" focusColor="" focusedTextSelectionColor="" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" horizontalScrollPolicy="auto" inactiveTextSelection="" justificationRule="auto" justificationStyle="auto" kerning="auto" leadingModel="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="CFF" rollOverColor="" symbolColor="" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="inter_word" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="" verticalScrollPolicy="auto" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" />]]>
Spark の Group、DataGroup、および RichEditableText コンポーネントは、IViewport インターフェイスを実装し、Scroller コントロールの子として使用できます。次に例を示します。
<s:Scroller width="100" height="100"> <s:Group> <mx:Image width="300" height="400" source="@Embed(source='assets/logo.jpg')"/> </s:Group> </s:Scroller>
Image コントロールのサイズは、親の Group コンテナのサイズよりも大きく設定されます。デフォルトでは、親コンテナの境界線を超えて子が拡張されます。Scroller を使用すると、親コンテナの境界線を超える子の拡張は許可されず、親コンテナの境界線で子が切り詰められてスクロールバーが表示されます。
一部の Spark コンテナでは IViewPort インターフェイスが実装されていません。したがって、それらのコンテナ(BorderContainer コンテナや SkinnableContainer コンテナなど)を、Scroller コンポーネントの直接の子にすることはできません。反対に、Scroller コンポーネントは、すべての Spark コンテナの子にすることができます。例えば、Spark の BorderContainer の子でスクロールバーを使用するには、子を Scroller コンポーネントに内包します。
BorderContainer 全体をスクロール可能にするには、コンテナを Group コンテナに内包します。次に、その Group コンテナを Scroller コンポーネントの子にします。IViewport インターフェイスを実装していないスキナブル Spark コンテナの場合は、カスタムスキンを作成して、Scroller コンポーネントを含むコンテナにそのスキンを使用できます。
IViewport インターフェイスは、IViewport インターフェイスを実装するコンポーネントのビューポートを定義します。ビューポートは、表示するコンテナの領域の矩形のサブセットであり全体は表示しません。スクロールバーは、ビューポートの
スクロールバーには、コンテナのビューポートの明示的な設定を組み合わせることができます。ビューポートの最初の位置はビューポート設定によって決定されますが、その後スクロールバーを使用して移動できます。次に例を示します。
<s:Scroller width="100" height="100"> <s:Group horizontalScrollPosition="50" verticalScrollPosition="50"> <mx:Image width="300" height="400" source="@Embed(source='assets/logo.jpg')"/> </s:Group> </s:Scroller>
スクロールバーは、垂直スクロールバーと水平スクロールバーのポリシー(
Scroller のスキンレイアウトは変更できません。スクロールポリシーを処理するプライベートレイアウト実装に無条件に設定されます。Scroller スキンは、置き換え用のスクロールバーのみを提供できます。ビューポートとそのスクロールバーのレイアウトをさらに細かく制御するには、Scroller を使用する代わりに、単純にそれらを
Scroller コントロールには、次のデフォルトの特性があります。
表示される verticalScrollBar がある場合、デフォルトでは、
それ以外の場合で、表示される horizontalScrollBar がある場合、デフォルトでは、
イベントに対して
使用可能な幅や高さに合わせてコンテンツの「再フロー」が行われる TextArea などのコンポーネントでは、このプロパティを使用すると、測定サイズを安定化する場合があります。デフォルトでは、TextArea の測定サイズは
通常の List アイテムなど、コンテンツの再フローが発生しないコンポーネントでは、コンポーネントのコンテンツがスクロールバーで隠れる可能性が少なくなるので、デフォルトの動作を使用することをお勧めします。
ビューポートは、ビューポートとスクロールバーの両方をレイアウトする、Scroller コンポーネントのスキンに追加されます。
<s:VGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VGroup Properties gap="6" horizontalAlign="left" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedMaxRowCount="-1" requestedMinRowCount="-1" requestedRowCount"-1" rowHeight="no default" variableRowHeight="true" verticalAlign="top" />]]>
VGroup コンテナには、次のデフォルトの特性があります。
<s:ComboBox>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ComboBox Properties itemMatchingFunction="null" labelToItemFunction="null" maxChars="0" openOnInput="true" prompt="null" restrict="" Styles paddingBottom="3" paddingLeft="3" paddingRight="3" paddingTop="5" />]]>
これらのコントロールの違いは、ComboBox コントロールのプロンプト領域が、DropDownList コントロールの Label コントロールではなく、TextInput コントロールを使用して実装されている点です。そのため、コントロールのプロンプト領域を編集して、定義済みのオプションではない値を入力できます。
例えば、DropDownList コントロールでは、コントロールにある定義済みのアイテムリストからしかユーザーは選択できません。ComboBox コントロールでは、定義済みのアイテムからユーザーが選択することも、新しいアイテムをプロンプト領域に入力することもできます。アプリケーションは、新しいアイテムが入力されたことを認識でき、必要に応じてコントロールのアイテムリストにそのアイテムを追加することもできます。
ComboBox コントロールでは、プロンプト領域にユーザーが文字を入力するのに合わせて、アイテムリストも検索されます。ユーザーが文字を入力すると、コントロールのドロップダウン領域が開きます。次にアイテムリストがスクロールして、最もよく一致するアイテムがハイライトされます。
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
メモ:Spark のリストベースのコントロール(Spark の ListBase クラスと、そのサブクラスである ButtonBar、ComboBox、DropDownList、List、TabBar)では、BasicLayout クラスを
ComboBox コントロールには、次のデフォルトの特性があります。
spark.skins.spark.ComboBoxTextInputSkin
このプロパティで参照される関数は、入力文字列を取り、入力に一致するデータプロバイダー内のアイテムのインデックスを返します。アイテムは、データプロバイダーのインデックスの Vector.<int> として返されます。
このコールバック関数には次のシグネチャが必要です。
function myMatchingFunction(comboBox:ComboBox, inputText:String):Vector.<int>
このプロパティの値が null の場合、ComboBox はデフォルトのアルゴリズムを使用して一致を検索します。デフォルトでは、長さ n の入力文字列がアイテムの最初の n 文字(大文字と小文字は無視)と等しい場合は、そのアイテムに一致したと見なされます。例えば、「aRiz」は「Arizona」に一致しますが、「riz」は一致しません。
検索を無効にするには、空の Vector.<int> を返すコールバック関数を作成します。
コントロールが最初に作成されるとプロンプトテキストが表示されます。コントロールがフォーカスを得た場合、入力テキストが null 以外の場合、またはリスト内のアイテムが選択された場合に、プロンプトテキストは非表示になります。コントロールがフォーカスを失ったが、テキストが入力されていない(テキストフィールドの値が null または空の文字列である)場合にのみ、プロンプトテキストが再表示されます。
プロンプトテキストのスタイルは CSS で変更できます。コントロールにプロンプトテキストがあり、無効になっていない場合は、
次の CSS の例では、TextInput コントロール内のプロンプトテキストのカラーが変更されています。ComboBox コントロールは、TextInput コントロールをプロンプトテキストおよび入力のサブコンポーネントとして使用するため、この CSS を使用すると、その ComboBox コントロールのプロンプトテキストが変更されます。
@namespace s "library://ns.adobe.com/flex/spark"; s|TextInput:normalWithPrompt { color: #CCCCFF; }
このコールバック関数には次のシグネチャが必要です。
function myLabelToItem(value:String):Object
ここで、
デフォルトのコールバック関数は
<s:Image>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Image Properties clearOnLoad="true" contentLoader="null" contentLoaderGrouping="null" fillMode="scale" horizontalAlign="center" preliminaryHeight="NaN" preliminaryWidth="NaN" scaleMode="letterbox" smooth="false" source="null verticalAlign="middle" Styles backgroundAlpha="NaN" backgroundColor="NaN" enableLoadingState="false" smoothingQuality="default" Events complete="No default" httpStatus="No default" ioError="No default" progress="No default" ready="No default" securityError="No default" />]]>
メモ:Flex には、Flex アプリケーションをロードする SWFLoader コントロールもあります。 静止グラフィックファイルと SWF ファイルのロードには、通常 Image コントロールを使用し、Flex アプリケーションのロードには、SWFLoader コントロールを使用します。 Image コントロールは、カスタムアイテムレンダラーとアイテムエディターでも使用できるように設計されています。
メモ:Flex には BitmapImage クラスも含まれています。このクラスは、スキンと FXG コンポーネントに画像を埋め込むために使用します。
イメージを埋め込んだ場合、埋め込まれたイメージは Flex の SWF ファイルの一部となるため、ロードは直接的に行われます。ただし、アプリケーションのサイズが増えるので、アプリケーションの初期化プロセスは遅くなります。また、埋め込みイメージは、イメージファイルに変更を加えるたびにアプリケーションを再コンパイルする必要があります。
リソースを埋め込まない場合は、実行時にリソースをロードします。SWF ファイルが実行されるローカルなファイルシステムからリソースをロードすることもできますし、ネットワーク上の HTTP 要求を通じて(通常の方法)、リモートリソースにアクセスすることもできます。イメージは、Flex アプリケーションとは独立しているため、イメージの名前さえ同じであれば、修正を加えたとしても再コンパイルの必要はありません。イメージの参照により、アプリケーションの初期ロード時間に余分なオーバーヘッドが生じることはありません。ただし、イメージを Flash Player または AIR にロードするときに遅延が生じる場合があります。
デフォルトスキンには、汎用のプログレスバーベースのプリローダーと無効なコンテンツを表す壊れたイメージアイコンが設定されたクロムレスのイメージスキンが用意されています。
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
Image コントロールには、次のデフォルト特性があります。
Loader 経由でロードされるコンテンツの場合は、
メモ:
Loader によってロードされるコンテンツの場合は、
<s:DataGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DataGroup Properties dataProvider="null" itemRenderer="null" itemRendererFunction="null" typicalItem="null" Events rendererAdd="No default" rendererRemove="No default" />]]>
DataGroup クラスは、データアイテムまたは IVisualElement インターフェイスを実装して DisplayObjects であるビジュアルエレメントを、子として受け取ります。データアイテムは、String オブジェクトや Number オブジェクトなどの単純なデータアイテムであることも、Object オブジェクトや XMLNode オブジェクトなどのより複雑なデータアイテムであることもあります。これらのコンテナはビジュアルエレメントを保持できますが、通常は、データアイテムを子として保持する目的でのみ使用されます。
アイテムレンダラーは、コンテナ内のデータアイテムの視覚的な表現を定義します。アイテムレンダラーは、コンテナによって表示できる形式にデータアイテムを変換します。データアイテムを適切にレンダリングするには、アイテムレンダラーを DataGroup コンテナに渡す必要があります。
パフォーマンスを向上させると共にアプリケーションのサイズを最小限に抑えるため、DataGroup コンテナにはスキンを適用できません。スキンを適用するには、代わりに SkinnableDataContainer を使用します。
DataGroup コンテナには、次のデフォルトの特性があります。
返される各インデックスに対応するアイテムレンダラーは、レイアウトが仮想である場合も、
返される Vector でのアイテムの順序は保証されません。
VerticalLayout および HorizontalLayout クラスには、このメソッドと同じ情報を含むバインド可能な
このメソッドは、
データアイテムを受け取り、アイテムレンダラーが表示するデータアイテムの
アイテムレンダラーの
ArrayCollection、ArrayList、XMLListCollection など、Flex フレームワークには複数の IList の実装が含まれています。
function myItemRendererFunction(item:Object):IFactory
コンテナは、一般的なデータアイテムと、関連付けられたアイテムレンダラーを使用して、コンテナの子のデフォルトサイズを決定します。一般的なアイテムを定義することによって、コンテナは、それぞれの子を画面上に描画するときにそれらのサイズを決定する必要がなくなります。
このプロパティを設定すると、レイアウトの
制限:
<s:HSlider>
tag inherits all of the tag
attributes of its superclass and adds no tag attributes:
<s:HSlider/>]]>
スライダーは、最小値から最大値までの範囲を無段階に移動できるか、または最小値から最大値までの範囲内で段階的にのみ移動できます。 スライダーは、現在の値を表示するデータヒントを含むことができます。
HSlider コントロールには、次のデフォルトの特性があります。
spark.skins.spark.HSliderThumbSkin
spark.skins.spark.HSliderTrackSkin
<s:DataGrid>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DataGrid Properties columns="null" dataProvider="null" dataTipField="null" dataTipFunction="null" editable="false" editorColumnIndex="-1" editorRowIndex="-1" imeMode="null" itemEditor="null" itemRenderer="DefaultGridItemRenderer" preserveSelection="true" requestedColumnCount="-1" requestedMaxRowCount="-1" requestedMinColumnCount="-1" requestedMinRowCount="-1" requestedRowCount="-1" requireSelection="false" resizeableColumns="true" rowHeight="Calculated default" selectedCell="null" selectedCells="empty Vector.<CellPosition>" selectedIndex="null" selectedIndices="empty Vector.<CellPosition>" selectedItem="null" selectedItems="empty Vector.<Object>" selectionMode="singleRow" showDataTips="false" sortableColumns="true" typicalItem="null" variableRowHeight="false" Styles alignmentBaseline="useDominantBaseline" baselineShift="0.0" cffHinting="horizontalStem" color="0" defaultGridItemEditor="null" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" locale="en" renderingMode="cff" stretchCursor="cursorStretch symbol from Assets.swf" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textJustify="interWord" trackingLeft="0" trackingRight="0" typographicCase="default" verticalScrollPolicy="auto" Styles for the Spark Theme alternatingRowColors="undefined" borderAlpha="1.0" borderColor="0x696969" borderVisible="true" caretColor="0x0167FF" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" rollOverColor="0xCEDBEF" selectionColor="0xA8C6EE" symbolColor="0x000000" Styles for the Mobile Theme leading="0" letterSpacing="0" selectionColor="0xE0E0E0" symbolColor="0x000000" Events caretChange="No default" gridClick="No default" gridDoubleClick="No default" gridItemEditorSessionCancel="No default" gridItemEditorSessionSave="No default" gridItemEditorSessionStart="No default" gridItemEditorSessionStarting="No default" gridMouseDown="No default" gridMouseDrag="No default" gridMouseUp="No default" gridMouseRollOut="No default" gridMouseRollOver="No default" selectionChange="No default" selectionChanging="No default" sortChange="No default" sortChanging="No default" />]]>
Spark DataGrid コントロールは、Spark Grid コントロールの周りのスキナブルラッパーとして実装されます。 Grid コントロールは、データグリッドの列および DataGrid コントロール自身の機能の多くを定義します。
DataGrid スキンは、グリッド、列ヘッダーおよびスクローラーをレイアウトする役割があります。 このスキンは、インジケーター、セパレーターおよび背景として使用されるビジュアルエレメントをレンダリングするために使用されるグラフィックエレメントも設定します。 また、DataGrid スキンは、各セルのコンテンツを表示するために使用されるデフォルトアイテムレンダラーも定義します。サポートされているスタイルのリストについては、レンダラークラスに関するマニュアルを参照してください。
DataGrid アイテムレンダラーのトランジションがサポートされていません。 GridItemRenderer クラスの
このイベントがキャンセルされた場合、アイテムエディターは作成されません。
このイベントは、ユーザーがコントロールを操作したときに送出されます。データプロバイダーのコレクションをプログラムでソートすると、コンポーネントは
DataGrid コントロールには、このイベントに対するデフォルトハンドラーがあります。このハンドラーには 1 つの列のソートが実装されており、グリッドの
複数列のソートを実装する場合は、
このイベントは、ユーザーがコントロールを操作したときに送出されます。データプロバイダーのコレクションをプログラムでソートすると、コンポーネントは
このイベントは、ユーザーがコントロールを操作したときに送出されます。選択範囲をプログラムで変更すると、コンポーネントは
このイベントは、ユーザーがコントロールを操作したときに送出されます。選択範囲をプログラムで変更すると、コンポーネントは
このイベントを扱うには、DataGrid コントロールの
このイベントを扱うには、DataGrid コントロールの
このイベントを扱うには、DataGrid コントロールの
このイベントを扱うには、DataGrid コントロールの
このイベントを扱うには、DataGrid コントロールの
このイベントを扱うには、DataGrid コントロールの
このイベントを扱うには、DataGrid コントロールの
このイベントを扱うには、DataGrid コントロールの
flash.system.IMEConversionMode クラスで、このプロパティの有効な値の定数を定義します。IME を指定しない場合は、
アイテムの編集中にアイテムエディターのインスタンスと新しいアイテム値にアクセスするには、
MXML では、このプロパティを設定しないでください。
<s:RadioButtonGroup>
tag inherits all of the
tag attributes of its superclass, and adds the following tag attributes:
<s:RadioButtonGroup Properties enabled="true" selectedValue="null" selection="null" Events change="No default" itemClick="No default" valueCommit="No default" />]]>
RadioButtonGroup コンポーネントは UIComponent ではなく EventDispatcher のサブクラスであり、IMXMLObject インターフェイスを実装します。他のすべての Flex のビジュアルコンポーネントは、IVisualElement インターフェイスを実装します。RadioButtonGroup コンポーネントの宣言は IVisualElement に割り当てられないので、
List や DataGrid などのリストベースのコンポーネントでこのコンポーネントを使用するには、アイテムレンダラーを作成します。アイテムレンダラーの作成について詳しくは、「
このイベントはプログラムによる変更によってトリガーされるため、
<s:VScrollBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VScrollBar Properties viewport="" />]]>
VScrollBar コントロールは単独のコントロールとしても使用できますが、通常は他のコンポーネントグループと組み合わせてスクロール機能を提供します。
VScrollBar コントロールには、次のデフォルトの特性があります。
spark.skins.spark.VScrollBarThumbSkin
spark.skins.spark.VScrollBarTrackSkin
デフォルトの動作は、「ステップ」数
イベントに対して
<s:VideoDisplay>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VideoDisplay Properties autoDisplayFirstFrame="true" autoPlay="true" autoRewind="true" loop="false" muted="false" pauseWhenHidden="true" scaleMode="letterbox" source="" volume="1" Events bytesLoadedChange="No default" complete="No default" currentTimeChange="No default" durationChange="No default" mediaPlayerStateChange="No default" />]]>
VideoDisplay コントロールには、次のデフォルトの特性があります。
このイベントは、ソースが null に設定されている場合や再生エラーが発生した場合には送出されないことがあります。
このイベントは、ソースが null に設定されている場合や再生エラーが発生した場合には送出されないことがあります。
このイベントは、ソースが null に設定されている場合や再生エラーが発生した場合には送出されないことがあります。
再生を再開するには、
時間が 0 未満または NaN である場合、例外をスローします。時間がストリームの末尾を超過している場合、またはこれまでダウンロードしたファイルの量を超過している場合、シークを試行し、失敗は回復されます。
注意:ストリーミングの場合のシークでは、ソース FLV ファイル内の目的の位置にキーフレームがない場合でも、ちょうどその指定した時間に移動します。
シークは非同期であるため、
このプロパティは、ライブストリーミングビデオには効果がありません。
ビデオが無効になる(またはビデオのいずれかの親が無効になる)場合も、ビデオは一時停止しますが、再び有効になってもビデオの再生は再開されません。この動作は
ビデオがシーク中またはバッファリング中であるが、再生試行中であるために現在再生中ではない場合があります。
コンポーネントで幅、高さまたは制約が指定されていない場合、このプロパティは効果がありません。
プログレッシブダウンロードの場合、ソースは、再生するビデオファイルを指定するパスまたは URL です。
ストリーミング(記録済みストリーミング、ライブストリーミングまたはマルチビットレートストリーミング)の場合、source プロパティは DynamicStreamingVideoSource オブジェクトです。マルチビットレートをサポートしない記録済みストリーミングビデオまたはライブストリーミングビデオのみを再生する場合は、ビデオストリームの場所を指すストリング型の URL を指定します。ただし、その場合は streamType が「any」と見なされるので、DynamicStreamingVideoSource オブジェクトを使用する場合よりも制御範囲が狭まります。
注意:既にソースの設定を行っている場合、MediaPlayerStateChangeEvent.LOADING または MediaPlayerStateChangeEvent.READY でのソース設定はお勧めしません。無限ループまたは RTE が発生することがあります。このような処理が必要な場合は、ソースを設定するための追加のフレームが用意されるまで待機してください。
source が
<s:TileGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TileGroup Properties columnAlign="left" columnCount="-1" columnWidth="0" horizontalAlign="justify" horizontalGap="6" orientation="rows" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedColumnCount"-1" requestedRowCount="-1" rowAlign="top" rowCount="-1" rowHeight="0" verticalAlign="justify" verticalGap="6" />]]>
TileGroup コンテナには、次のデフォルトの特性があります。