Flex 3 のパネル内にあるコンボ ボックスがあります。基本的には、ActionScript のフェード効果を使用してパネルをフェードしたいと考えています。フェードを正常に動作させることはできますが、コンボ ボックスのラベルはフェードしません。ボタンにも同じ問題があり、フォントを埋め込む必要があることがわかりました。問題ない。使用していたフォントを埋め込むと、ボタンのラベルが正しくフェードしました。コンボボックスに同様のアプローチを試みましたが、選択したアイテムのラベルがフェードしません。
スクリプトの MXML の先頭にフォントのコードを埋め込みます。
[Embed("assets/trebuc.ttf", fontName="TrebuchetMS")]
public var trebuchetMSFont:Class;
私のinit関数で
//register the font.
Font.registerFont(trebuchetMSFont);
コンボボックスの mxml:
<mx:ComboBox id="FilterFields" styleName="FilterDropdown"
left="10" right="10" top="10"
fontSize="14">
<mx:itemRenderer>
<mx:Component>
<mx:Label fontSize="10" />
</mx:Component>
</mx:itemRenderer>
</mx:ComboBox>
そして、コンボボックスにフォントを適用するために私が書いたスタイル:
.FilterDropdown
{
embedFonts: true;
fontFamily: TrebuchetMS;
fontWeight: normal;
fontSize: 12;
}
「FontFamily」属性に配置する代わりにスタイルを記述しなければならなかった理由は、「FontFamily」属性がドロップダウンの項目のみを使用するのに、スタイルがコンボボックスのすべてのテキストを正しいフォントにしたためです。正しいフォント。