1

私の Flex AIR アプリケーションでは、コンボボックスをカスタムの矢印アイコンでカスタマイズする必要があります。色を変更するプロパティを取得しましたが、アイコン自体を変更するプロパティは取得しませんでした。グーグルの後、コンボボックスのスキニングのリンクをいくつか取得しましたが、それらはFLASH CS4用でしたが、私はFlexを使用しています。

解決策が得られません。助けてください。

前もって感謝します。

コードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Style>
    ComboBox {
        up-skin :  Embed(source="Pulldown_def.png");
        down-skin : Embed(source="Pulldown_def.png");
        over-skin : Embed(source="Pulldown_def.png");       
    }
</mx:Style>
<mx:Array id="dp">
    <mx:Object label="test1" />
    <mx:Object label="test2" />
</mx:Array>
<mx:ComboBox id="cbx" x="51" y="43" dataProvider="{dp}" labelField="label" ></mx:ComboBox>

それは私にとってはうまくいきません:(コンボボックス全体に画像を適用します。矢印の画像を置き換える必要があります。何か間違っていますか?

4

2 に答える 2

0

カスタム スキンを作成し、ComboBox のskinupSkindownSkinおよびoverSkin style 属性をそのクラスに設定できます。デフォルト値はComboBoxArrowSkin

于 2010-07-20T09:48:29.893 に答える
0

デフォルトでは、 はComboBoxArrowSkinComboBox 全体を描画します。アイコン自体にはスタイル属性はありません。独自のスキンを作成する必要があります。ComboBox.as と ComboBoxArrowSkin.as を読むと、そこで何が起こっているかがわかります。それは醜いです。自分のクラスを派生させて、自分ComboBoxArrowSkinで描いた矢印を微調整することを検討します。の最後に発生しupdateDisplayList()ます:

// Draw the triangle.
g.beginFill(arrowColor);
g.moveTo(w - 11.5, h / 2 + 3);
g.lineTo(w - 15, h / 2 - 2);
g.lineTo(w - 8, h / 2 - 2);
g.lineTo(w - 11.5, h / 2 + 3);
g.endFill();
于 2014-03-21T00:46:31.953 に答える