2016-03-19 6 views
0

私は、限られた色数のコンパクトなColorPickerを作ろうとしています。私はそれのほとんどを行うことができましたが、背景パネルのサイズを設定するプロパティを見つけることができません。ColorPickerで背景パネルのサイズを設定しますか?

これは、スタイリングやプログラムによる制御にさらされていますか?

<fx:Script> 
    <![CDATA[ 
    [Bindable] 
    public var simpleDP:Array = ['0x000000', '0xFF0000', '0xFF8800', 
     '0xFFFF00', '0x88FF00', '0x00FF00', '0xFF00FF', '0xFFFFFF']; 
    ]]> 
</fx:Script> 

<fx:Style> 

    .mySwatchPanel { 
    backgroundColor:#E5E6E7; 
    columnCount:10; 
    horizontalGap:0; 
    previewHeight:20; 
    previewWidth:20; 
    swatchGridBackgroundColor:#000000; 
    swatchGridBorderSize:0; 
    swatchHeight:20; 
    swatchWidth:20; 
    swatchHighlightColor:#FFFFFF; 
    swatchHighlightSize:1; 
    textFieldWidth:72; 
    verticalGap:0; 
    paddingBottom:0; 
    } 
</fx:Style> 

    <mx:ColorPicker id="colorPicker" 
        swatchPanelStyleName="mySwatchPanel" 
        dataProvider="{simpleDP}" 
        showTextField="false" 
        width="40" height="40"/> 

enter image description here

答えて

0

あなたは、たとえば次のようにswatchPanelStyleNameで定義されているデフォルトのスタイルプロパティを使用してColorPickerSwatchPanelのサイズを変更することができます

<fx:Style> 
    .mySwatchPanel { 

     backgroundColor:#E5E6E7; 
     swatchHighlightColor:#FFFFFF; 
     swatchHighlightSize:0; 
     swatchGridBorderSize:0; 
     swatchGridBackgroundColor:#000000; 

     textFieldWidth:0;   

     previewHeight:20; 
     previewWidth:20; 

     columnCount:3; 

     swatchHeight:20; 
     swatchWidth:20;  

     paddingBottom:2; 
     paddingTop:2;   
     paddingLeft:2; 
     paddingRight:2; 

     horizontalGap:0; 
     verticalGap:0; 

    } 
</fx:Style> 

このスタイルはあなたにこのような何かを与えます

もちろん、これらのプロパティで再生して、必要なサイズにすることはできますが、忘れないでくださいSwatchPanelのデフォルトの最小サイズは100x100pxです。この制限、あなたは例えば、このようmx.core.mx_internalを使用することができますを乗り越えることではなく

:あなたはこのような何かを与える

<mx:ColorPicker id="colorPicker" width="40" height="40" dataProvider="{simpleDP}" 
       showTextField="false" swatchPanelStyleName="mySwatchPanel" 
       open="colorPicker_openHandler(event)" /> 

protected function colorPicker_openHandler(event:DropdownEvent):void 
{   
    // resize the SwatchPanel once then remove the event listener 
    colorPicker.mx_internal::dropdown.mx_internal::setUnscaledWidth(62); 
    colorPicker.mx_internal::dropdown.mx_internal::setUnscaledHeight(85); 
    ColorPicker(event.target).removeEventListener('open', colorPicker_openHandler); 
} 

希望することができます。

関連する問題