2011-09-17 5 views
2

これまで私が行ってきたことです。FLEXでDropDownListのBackGroundカラーを変更するには?

 <!-- fill --> 
     <!--- Defines the appearance of drop-down list's background fill. --> 
     <s:Rect id="background" left="1" right="1" top="1" bottom="1" > 
      <s:fill> 
      <!--- 
       The color of the drop down's background fill. 
       The default color is 0xFFFFFF. 
      --> 
       <s:SolidColor id="bgFill" color="#DB9E36"/> 
      </s:fill> 
     </s:Rect> 

よく見ると、bgFillのデフォルト値が変更されていることがわかります。しかし、アプリケーションを実行すると、ドロップダウンリストの背景色はデフォルトのままです。

ここで何か間違っていますか?

ありがとうございます。

+0

何を変更しますか?プロンプト領域からの背景?または下矢印ボタン?または実際のポップアップ?完全な肌を見ずに。あなたが実際に変更したことを伝えるのは難しいです。 – JeffryHouser

+0

それは私がこれまでに変更した唯一のビットです。私はPopUpのバックグラウンド全体を変更したいと思います...しかし、この 's:Rect'はPopUpの中にあります。 –

+0

そのコードスニペットは* default * DropDownListSkinファイルからのものですが、変更したのは 'color'値だけです。私は良いole dropDownListを見ることを期待していました。唯一の違いは、popUp backgroundColorがデフォルトの白ではなくオレンジであることです。...... –

答えて

5

これを行う簡単な方法は、contentBackgroundColorスタイルを使用することです。このような何か:

<s:DropDownList contentBackgroundColor="0xDB9E36" > 
    <s:dataProvider> 
     <mx:ArrayCollection> 
      <fx:String>Flash</fx:String> 
      <fx:String>Director</fx:String> 
      <fx:String>Dreamweaver</fx:String> 
      <fx:String>ColdFusion</fx:String> 
      <fx:String>Flash</fx:String> 
      <fx:String>Director</fx:String> 
      <fx:String>Dreamweaver</fx:String> 
      <fx:String>ColdFusion</fx:String> 
      <fx:String>Flash</fx:String> 
      <fx:String>Director</fx:String> 
      <fx:String>Dreamweaver</fx:String> 
      <fx:String>ColdFusion</fx:String> 
     </mx:ArrayCollection>   
    </s:dataProvider> 
</s:DropDownList> 

いくつかの詳細..

カスタムスキンを作成します。 contentFillというプロパティのリストがあります。

static private const contentFill:Array = ["bgFill"]; 

ここに記載されている値はbgFillです。

override public function get contentItems():Array {return contentFill}; 

[すべてのMXMLスキンがデフォルトで拡張] SparkSkinクラスはにupdateDisplayListの内部でこの値にアクセス:色を変更しようとしている...そして、それはのContentItemプロパティを使用することによって公に取得することができ、同じ背景。 contentItems配列の各プロパティは、contentBackgroundColorを使用して指定された背景色と、contentBackgroundAlphaを使用して指定されたアルファです。

値がMXMLで明示的に定義されていて、ActionScriptで上書きされる可能性があります。

関連する問題