0

私は FB4.6 を使用しており、ボタンに fillColor を適用しようとしています。

package fr.int.component.customNavTab
{
    import mx.controls.Button;
    import mx.controls.ToggleButtonBar;
    import mx.core.IFlexDisplayObject;
    import mx.states.OverrideBase;

    public class IconToggleButtonBar extends ToggleButtonBar

    {

        public function IconToggleButtonBar()
        {
            super();

        }

        [Inspectable (enumeration='left,right,top,bottom', defaultValue='left')]  
        public var labelPlacement:String = 'left';  
        public var color:uint;


        override protected function createNavItem(label:String, icon:Class=null):IFlexDisplayObject
        {
            var b:Button = Button (super.createNavItem(label,icon));
            b.labelPlacement = labelPlacement;

            b.setStyle('fillColors', [0x86C543, 0xE6E6E6]);
            return b;
        }



    }
}

しかし、これは私のボタンには影響しません。

手伝って頂けますか?

ありがとう

4

2 に答える 2

2

配列が必要な文字列'[0x86C543, 0xE6E6E6]'を渡しています。[] ブラケットは配列を表しますが、これを引用符で囲むことにより、文字列として読み込まれます。

これをに変更

b.setStyle('fillColors', [0x86C543, 0xE6E6E6]);
于 2012-04-17T18:46:17.980 に答える
0

fillColorsonmx:Buttonは Halo テーマでのみ動作します。したがって、Flex 3 SDK を使用するか、Flex 4 で次のようなものを試す必要がありますhttp://blog.flexexamples.com/2009/07/14/using-the-halo-theme-in-flex-4/

編集:これは例です。Flex 4 SDK でプロジェクトを作成し、このコードをアプリケーションに配置してみてください。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";
        mx|Button{
            fillColors: #FF0000, #00FF00
        }
    </fx:Style>
    <mx:Button />
</s:Application>

警告が表示されます。使用The style 'fillColors' is only supported by type 'mx.controls.Button' with the theme(s) 'halo'.していることは関係ありませんmx:Button。ハロー テーマを使用する必要があるという事実は重要です。したがって、fillColors を変更したい場合は、mx:Button以前に投稿した 2 つの選択肢があります。

于 2012-04-18T13:15:16.027 に答える