Actionscript 3 是否在ColorPicker中设置背景面板大小?
我正在尝试用有限的颜色制作一个紧凑的颜色选择器。我已经能够完成大部分工作,但是我找不到设置背景面板大小的属性 这是否暴露于样式或编程控制Actionscript 3 是否在ColorPicker中设置背景面板大小?,actionscript-3,apache-flex,flex4,Actionscript 3,Apache Flex,Flex4,我正在尝试用有限的颜色制作一个紧凑的颜色选择器。我已经能够完成大部分工作,但是我找不到设置背景面板大小的属性 这是否暴露于样式或编程控制 <fx:Script> <![CDATA[ [Bindable] public var simpleDP:Array = ['0x000000', '0xFF0000', '0xFF8800', '0xFFFF00', '0x88FF00', '0x00FF00', '0xFF00FF', '0xFFF
<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"/>
.mySwatchPanel{
背景颜色:#E5E7;
列数:10;
水平间距:0;
视力:20;
预览宽度:20;
swatchGridBackgroundColor:#000000;
swatchGridBorderSize:0;
样本高度:20;
样本宽度:20;
swatchHighlightColor:#FFFFFF;
样例HighlightSize:1;
文本字段宽度:72;
垂直间隙:0;
填充底:0;
}
请参见样例面板StyleNamestyle属性,它一定会有所帮助。
您可以使用
样例面板StyleName
定义的默认样式属性来调整颜色选择器的样例面板的大小,例如:
<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>
<mx:ColorPicker id="colorPicker" width="40" height="40" dataProvider="{simpleDP}"
showTextField="false" swatchPanelStyleName="mySwatchPanel"
open="colorPicker_openHandler(event)" />
及
这会给你类似的东西:
希望能有所帮助。嗯,看起来不详细。我认为没有解决办法,除了你自己的“颜色选择器”。这对于flash/flex来说是正常的。
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);
}