SkinnableComponent のサブクラスは、このメソッドをオーバーライドして値を返す必要があります。
<s:Range>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Range Properties maximum="100" minimum="0" snapInterval="1" stepSize="1" value="0" />]]>
Range は、TrackBase や Spinner などの、範囲機能を必要とする様々なコントロールの基本クラスです。
範囲の有効値は
例えば、
このメソッドでは、呼び出し元が既に
value プロパティに対する変更は、
value プロパティに対する変更は、
例えば、
このプロパティの値がゼロの場合、有効な値の制約は minimum と maximum を含むこれらの値の範囲内だけになります。
このプロパティを設定すると、
value プロパティに対する変更は、
<s:ToggleButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ToggleButtonBase Properties selected="false" events change="No default" />]]>
<s:ItemRenderer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ItemRenderer Properties autoDrawBackground="true" selected="false" showsCaret="false" />]]>
アイテムレンダラーは、オプションのビューステートをサポートしています。通常は、MXML のアイテムレンダラーのビューステートを使用して、アイテムとのユーザーのやりとりに基づいて、データアイテムの外観を制御します。 ItemRenderer クラスでは、リストベースのクラスでこれらのアイテムレンダラーを使用できるように、すべてのビューステートがサポートされています。
Flex では、アイテムレンダラーでサポートできる次のビューステートが定義されています。
アイテムレンダラーのビューステートを変更するような方法でユーザーがコントロールを操作する場合、Flex はレンダラーにそのビューステートが定義されているかどうかをまず判断します。アイテムレンダラーがそのビューステートをサポートしている場合、Flex はアイテムレンダラーがそのビューステートを使用するように設定します。アイテムレンダラーがそのビューステートをサポートしていない場合、Flex は何もしません。
必要な動作がデフォルトの動作と異なる場合は、ItemRenderer のサブクラスで値を返すようにこのメソッドをオーバーライドする必要があります。
Flex 4.0 では、主な 3 つの状態は、"normal"、"hovered"、および "selected" でした。 Flex 4.5 では、"down" および "downAndSelected" が追加されました。
サポートされている全状態(優先順)を次に示します。
アイテムレンダラーのホストコンポーネントは
List や ButtonBar などのコントロールの場合、
<s:GroupBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GroupBase Properties autoLayout="true" clipAndEnableScrolling="false" horizontalScrollPosition="null" luminosityClip="false" luminosityInvert="false" layout="BasicLayout" mask="" maskType="clip" mouseEnabledWhereTransparent="true" resizeMode="noScale" verticalScrollPosition="no default" Styles accentColor="0x0099FF" alignmentBaseline="useDominantBaseline" alternatingItemColors="undefined" baselineShift="0" blockProgression="tb" breakOpportunity="auto" cffHinting="horizontalStem" chromeColor="0xCCCCCC" color="0x000000" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" clearFloats="none" digitCase="default" digitWidth="default" direction="ltr" disabledAlpha="0.5" dominantBaseline="auto" firstBaselineOffset="auto" focusColor="0x70B2EE" focusedTextSelectionColor="A8C6EE" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" inactiveTextSelectionColor="E8E8E8" 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="0xCEDBEF" symbolColor="0x000000" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="interWord" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="0xE8E8E8" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" />]]>
レイアウトオブジェクトがまだ設定されていない場合は、createChildren() が BasicLayout というデフォルトレイアウトオブジェクトをこのコンテナに割り当てます。
実装では、
実装では、
返されるエレメントがまだ表示される子ではなく、つまり作成またはリサイクルされたもので、eltWidth または eltHeight が指定されている場合は、検証される前に、setLayoutBoundsSize() でエレメントの初期サイズが設定されます。これは、レイアウトが Group の幅または高さに位置揃えされているときに再フローするテキストなどのコンポーネントにとって重要なことです。
返されるレイアウトエレメントは、検証済みになります。
このメソッドは、レイアウトエレメントを非効率的に作成または「リサイクル」し、必要に応じて検証します。
このメソッドは、直接呼び出されることが想定されておらず、仮想化をサポートするレイアウトによって呼び出されます。
マスクのタイプです。可能な値は、
クリップマスク
クリップモードでマスクを適用すると、クリッピングマスクが 1 ビットに減らされます。つまり、マスクはソースコンテンツのピクセルの不透明度に影響しません。マスクの対応するピクセルのアルファ値がゼロ以外の場合この値は変更されず、マスクのピクセルのアルファ値がゼロの場合は完全に透明になります。
アルファマスク
アルファモードでは、ソースコンテンツの各ピクセルの不透明度に、マスクの対応する領域の不透明度が乗算されます。つまり、不透明度が 1 に設定されたソースコンテンツのピクセルが、不透明度 0.5 の領域でマスクされると、最終的な不透明度は 0.5 になります。不透明度が 0.8 のソースピクセルが不透明度 0.5 の領域でマスクされると、最終的な不透明度は 0.4 になります。
輝度マスキング
"soft mask" と呼ばれることもある輝度マスクは、ソースコンテンツのピクセルの不透明度と RGB カラー値の両方がマスクの対応する領域の不透明度と RGB カラー値で乗算される点以外は、アルファマスクと非常によく似た働きをします。
輝度マスキングは Flash ネイティブではありませんが、Adobe Illustrator や Adobe Photoshop などの Adobe Creative Suite ツールで共通の機能です。Flash でレンダリングされるコンテンツの輝度マスクの視覚効果を実現するために、輝度マスクを指定するグラフィックエレメントでは、Adobe Creative Suite ツールでレンダリングされる輝度マスクの外観表示を模倣するシェーダーフィルターを実際にインスタンス化しています。
輝度マスクによってマスクされているオブジェクトは、RGB カラー値とマスクのクリッピングを制御するプロパティを設定できます。luminosityInvert 属性および luminosityClip 属性を参照してください。
メモ:このオブジェクトはグループにより必要に応じて破棄および作成されるので、維持できません。
デフォルト値は
コンポーネントクラスの
MyComponent { skinClass: ClassReference("my.skins.MyComponentSkin") }
次の例では、MXML で
<MyComponent skinClass="my.skins.MyComponentSkin"/>
このメソッドは、コンポーネントのスキンをインスタンス化し、スキンをコンポーネントの子として追加し、スキンのすべてのパーツの関連付けを解決します。
通常、SkinnableComponent のサブクラスはこのメソッドをオーバーライドしません。
通常、SkinnableComponent のサブクラスはこのメソッドをオーバーライドしません。
SkinnableComponent のサブクラスは、このメソッドをオーバーライドして値を返す必要があります。
パーツにビヘイビアーを追加するには、この関数をオーバーライドします。基本クラスから継承したスキンパーツのビヘイビアーをオーバーライドする場合は、
パーツからビヘイビアーを削除するには、この関数をオーバーライドします。
このクラスでは、
テキストを切り詰めるとは、余分なテキストを "..." などの切り詰めインジケーターに置き換えることです。切り詰めインジケーターはロケールに依存し、"core" リソースバンドルの "truncationIndicator" リソースで指定されます。
切り詰めは、
テキストを切り詰めるとは、余分なテキストを "..." などの切り詰めインジケーターに置き換えることです。切り詰めインジケーターはロケールに依存し、"core" リソースバンドルの "truncationIndicator" リソースで指定されます。
値が 0 の場合、切り詰めは行われません。代わりに、テキストがコンポーネントの境界内に収まらない場合は、単にクリッピングされます。
値が正の整数の場合、行数をこの整数まで減らすために、必要に応じて、テキストが切り詰められます。
値が -1 の場合は、テキストは、コンポーネントの高さに完全に収まり、可能な限り多くの行が表示されるように切り詰められます。
切り詰めは、
このテキストの書式設定は、CSS スタイルで制御されます。サポートされるスタイルはサブクラスに依存します。
<s:ScrollBarBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ScrollBarBase Properties pageSize="20" snapInterval="1" viewport="null" Styles autoThumbVisibility="true" fixedThumbSize="false" repeatDelay="500" repeatInterval="35" smoothScrolling="true" symbolColor="0x000000" />]]>
このコントロールは TrackBase クラスを拡張し、HScrollBar コントロールおよび VScrollBar コントロールの基本クラスです。
スクロールバーは、トラック、可変サイズのスクロールサム、およびオプションの 2 つの矢印ボタンで構成されます。ScrollBarBase クラスでは、4 つのパラメーターを使って表示状態が計算されます。
このプロパティは、
VScrollBar クラスと HScrollBar クラスは、それぞれの
例えば、
このプロパティの値がゼロの場合、有効な値の制約は minimum と maximum を含むこれらの値の範囲内だけになります。
このプロパティを設定すると、
<s:ButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ButtonBase Properties autoRepeat="false" content="null" label="" stickyHighlighting="false" Events buttonDown="No default" Styles alignmentBaseline="USE_DOMINANT_BASELINE" cffHinting="HORIZONTAL_STEM" color="0" cornerRadius="4" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlpha="0.5" focusColor="0x70B2EE" 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" repeatDelay="500" repeatInterval="35" textAlign="START" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" wordSpacing="100%" />]]>
このメソッドは、
ButtonBase コントロールよりラベルの幅のほうが大きい場合、ラベルは省略記号(...)で切り詰められ、最後まで表示されません。マウスをコントロール上に移動すると、ラベル全体がツールヒントとして表示されます。
これがデフォルトの ButtonBase プロパティです。
このプロパティは、
<s:TrackBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TrackBase Styles slideDuration="300" Events change="No default" changing="No default" thumbDrag="No default" thumbPress="No default" thumbRelease="No default" />]]>
TrackBase サブクラスはこのメソッドをオーバーライドして、固有のジオメトリを考慮した変換を実行する必要があります。例えば、垂直スライダーでは次のように値を計算する場合があります。
return (y / track.height) (maximum - minimum);
デフォルトでは、このメソッドは
ほとんどのサブクラスでは、このメソッドをオーバーライドし、
デフォルトでは、このメソッドは何も実行しません。
<s:SliderBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SliderBase Properties dataTipFormatFunction="20" dataTipPrecision="2" maximum="10" showDataTip="true" Styles alignmentBaseline="USE_DOMINANT_BASELINE" baselineShift="0.0" cffHinting="HORIZONTAL_STEM" color="0" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlph="0.55" focusColor="0xFFFFFF" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" liveDragging="true" local="en" renderingMode="CFF" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" />]]>
この関数のシグネチャは次のとおりです。
funcName(value:Number):Object
次の例では、データヒントテキストにドル記号の接頭辞を付け、'slide' という名前の SliderBase コントロールの
import mx.formatters.NumberBase; function myDataTipFormatter(value:Number):Object { var dataFormatter:NumberBase = new NumberBase(".", ",", ".", ""); return "$ " + dataFormatter.formatPrecision(String(value), slide.dataTipPrecision); }
このプロパティは、
通常、スキンクラスは MXML で記述します。次に例を示します。
<?xml version="1.0"?> <Skin xmlns="http://ns.adobe.com/mxml/2009"> <Metadata> <!-- Specify the component that uses this skin class. --> [HostComponent("my.component.MyComponent")] </Metadata> <states> <!-- Specify the states controlled by this skin. --> </states> <!-- Define skin. --> </Skin>
子のサイズは、可能な限り、それぞれの推奨サイズに基づいて設定されます。十分な領域がある場合、それぞれの子はその推奨サイズに設定され、さらに余分な領域があればその領域が子の間で均等に配分されます。
すべての子をそれぞれの推奨サイズに設定するだけの領域がない場合、平均の幅よりも狭い子には推奨サイズが割り当てられ、残りのエレメントは均等に縮小されます。
すべての子は親の高さに設定されます。
現在、ユーザーがこのコンポーネントを押しています。
現在、ユーザーがこのコンポーネントの上をホバーしています。
このコンポーネントは操作されていません。
<s:ButtonBarBase>
tag inherits all of the tag
attributes of its superclass and adds no new tag attributes:
<s:ButtonBarBase/>]]>
ItemRenderer をクリックすると、
矢印キーのイベントは、
ButtonBarBase オブジェクトがフォーカスを得て、キーボードジェスチャーの結果として
タブ処理が初期化されます。このコンポーネントをタブで選択すると、コンポーネントがフォーカスを得ますが、マウスでクリックしてもフォーカスは得ません。タブで子を選択することはできません。
このような場合に、適切なフィールドを検索して表示可能なアイコンを返す
アイコン関数は、データプロバイダー内のアイテムである引数を 1 つ受け取り、有効な BitmapImage ソースを返します。
myIconFunction(item:Object):Object
<s:ListBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ListBase Properties arrowKeysWrapFocus="false" labelField="label" labelFunction="null" requireSelection="false" selectedIndex="-1" selectedItem="undefined" useVirtualLayout="false" Events caretChange="No default" change="No default" changing="No default" />]]>
メモ:Spark のリストベースのコントロール(Spark の ListBase クラスと、そのサブクラスである ButtonBar、ComboBox、DropDownList、List、TabBar)では、BasicLayout クラスを
このイベントは、ユーザーがコントロールを操作したときに送出されます。
次回の
このような場合に、適切なフィールドを検索して表示可能なストリングを返す
ラベル関数は、データプロバイダー内のアイテムである引数を 1 つ受け取り、ストリングを返します。
myLabelFunction(item:Object):String
TabBar 以外のほとんどのサブクラスのデフォルト値は
値は常に -1 ~ (
選択されたアイテムが削除されると、選択されたインデックスは次の値に設定されます。
ユーザーがコントロールを操作した結果として
選択されたアイテムが削除されると、選択されたアイテムは次の値に設定されます。
ユーザーがコントロールを操作した結果として
状態の変更に伴って、トランジションを再生する場合は、playTransitions です。
有効な値は次のとおりです。
<s:DropDownListBase>
tag inherits all of the tag
attributes of its superclass and adds the following attributes:
<s:DropDownListBase Styles cornerRadius="4" dropShadowVisible="true" Events closed="No default" open="No default" />]]>
DropDownListBase コントロールは、アンカーボタンとドロップダウンリストで構成されています。ドロップダウンリストの開閉にはアンカーボタンを使用します。
ドロップダウンリストが開いているときは次のようになります。
<s:SkinnableTextBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableTextBase autoCapitalize="none" [Mobile theme only] autoCorrect="true" [Mobile theme only] displayAsPassword="false" editable="true" imeMode="null" [Spark theme only] maxChars="0" prompt="null" restrict="null" returnLabelKey="default" [Mobile theme only] selectable="true" selectionHighlighting="whenFocused" [Spark theme only] softKeyBoardType="default" [Mobile theme only] text="" typicalText="null" [Spark theme only] Styles borderAlpha="1.0" borderColor="0x696969" borderVisible="true" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" focusAlpha="0.55" focusColor="0x70B2EE" showPromptWhenFocused="true" Events change="No default" changing="No default" [Spark theme only] selectionChange="No default" [Spark theme only] textInput="No default" [Spark theme only] />]]>
Mobile テーマの場合、これは送出されません。
Mobile テーマの場合、これは送出されません。
Mobile テーマの場合、これは送出されません。
サポートされている値は、flash.text.AutoCapitalize に次のように定義されています。
Spark テーマの場合、これはサポートされていません。
Spark テーマの場合、これはサポートされていません。
Spark テーマの場合、spark.components.RichEditableText.editable を参照してください
Mobile テーマの場合、spark.components.supportClasses.StyleableStageText.editable を参照してください
Mobile テーマの場合、これはサポートされていません。
Spark テーマの場合、spark.components.RichEditableText.imeMode を参照してください
Mobile テーマの場合、これはサポートされていません。
テキストコントロールが最初に作成されるとプロンプトテキストが表示されます。コントロールがフォーカスを得た場合またはコントロールの
テキストコントロールの場合は、ユーザーがテキストを入力した後に削除すると、コントロールがフォーカスを失ったときに、プロンプトテキストが再表示されます。テキストコントロールのテキストプロパティをプログラムで空の文字列に設定して、プロンプトテキストを再表示することもできます。
プロンプトテキストのスタイルは CSS で変更できます。コントロールにプロンプトテキストがあり、無効になっていない場合は、
次の CSS の例では、SkinnableTextBase(これには Spark の TextInput および TextArea コントロールが含まれます)をサブクラス化するコントロール内のプロンプトテキストのカラーが変更されています。
@namespace s "library://ns.adobe.com/flex/spark"; s|SkinnableTextBase:normalWithPrompt { color: #CCCCFF; }
サポートされている値は、flash.text.ReturnKeyLabel に次のように定義されています。
Spark テーマの場合、これはサポートされていません。
Spark テーマの場合、spark.components.RichEditableText.selectable を参照してください
Mobile テーマの場合、spark.components.supportClasses.StyleableStageText.selectable を参照してください
Spark テーマの場合、spark.components.RichEditableText.selectionActivePosition を参照してください
Mobile テーマの場合、spark.components.supportClasses.StyleableStageText.selectionActivePosition を参照してください
Spark テーマの場合、spark.components.RichEditableText.selectionAnchorPosition を参照してください
Mobile テーマの場合、spark.components.supportClasses.StyleableStageText.selectionAnchorPosition を参照してください
Spark テーマの場合、spark.components.RichEditableText.selectionHighlighting を参照してください
Mobile テーマの場合、これはサポートされていません。
サポートされている値は、flash.text.SoftKeyboardType に次のように定義されています。
Spark テーマの場合、これはサポートされていません。
Spark テーマの場合、spark.components.RichEditableText.text を参照してください
Mobile テーマの場合、spark.components.supportClasses.StyleableStageText#text を参照してください
Spark テーマの場合、spark.components.RichEditableText.typicalText を参照してください
Mobile テーマの場合、これはサポートされていません。