您可以通过在CSS中设置以下值来为Flex中的RadioButton设置外观:

upSkin: Embed(...); 
overSkin: Embed(...);
ownSkin: Embed(...);
disabledSkin: Embed(...);
selectedUpSkin: Embed(...);
selectedOverSkin: Embed(...);
selectedDownSkin: Embed(...);
selectedDisabledSkin: Embed(...);

但是,它仍会在您的皮肤内显示小圆圈图标。您可以通过设置以下样式来更改图标:

upIcon: Embed(...);
overIcon: Embed(...);
etc...

我的问题是,如何将这些图标设置为空?而不是1x1像素透明图像或什么?我怎么能给它一个空的风格?

修改

在动作中,我可以这样做:

button.setStyle("icon", null);

在CSS中我尝试过:

icon: none;
icon: null;

但都没有奏效。

接受的答案:

建议一个 <!>放大器; 两个两者都有效,但我更喜欢清洁的解决方案:

upIcon: ClassReference(null);

感谢您的回答(希望我能将两者都标记为答案!)

有帮助吗?

解决方案

试试这个:

ClassReference(null);

其他提示

我认为在Flex CSS中将皮肤设置为null是不可能的。实际上,某些Flex组件必须为皮肤设置了一些内容,如果使用setStyle("skinName", null),它们将抛出运行时错误。当我不想要皮肤时,我通常会使用这样的声明:

RadioButton
{
    upIcon: ClassReference("mx.skins.ProgrammaticSkin");
}

ProgrammaticSkin类不显示任何内容并实现IFlexDisplayObject(这通常是Flex中皮肤的要求),因此我认为这是您想要空白皮肤的最佳选择。

如果是标准CSS,则可以使用以下内容。我假设样式是类,如果他们的ID替换了。用#:

.upSkin
{
    background: none;
}

background属性可用于设置颜色,定位和重复;如果您需要专门定位背景图片,请使用:

.upSkin
{
    background-image: none;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top