繁体   English   中英

更改TextInput控件的所选文本的高亮颜色

[英]Change highlight color for TextInput control's selected text

我有一个Flex3 TextInput控件,黑色背景上有白色文本。 我想更改控件中突出显示的文本的样式,以在白色背景上使用黑色文本(或类似的东西)。 我很乐意使用Flex样式做到这一点,但是我空手而归。 有任何想法吗?

我前段时间也追了这个并走到了尽头。 我发现这是Flash播放器中硬编码的限制。 如果有人能证明我错了,我会喜欢它,但我确信情况就是如此。 正如另一张海报所指出的,这不再是新Spark组件的问题。

textinput.setStyle(“unfocusedTextSelectionColor”,”#00FF00″);
textinput.setStyle(“focusedTextSelectionColor”,”#00FF00″);
textinput.setStyle(“inactiveTextSelectionColor”,”#00FF00″);

您可能需要将代码放在自定义styleInitialized()方法中:

override public function stylesInitialized():void
{
    super.stylesInitialized();

    textinput.setStyle(“unfocusedTextSelectionColor”,”#00FF00″);
    textinput.setStyle(“focusedTextSelectionColor”,”#00FF00″);
    textinput.setStyle(“inactiveTextSelectionColor”,”#00FF00″);
};

有关设置样式的更多详细信息,请参阅: http//help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/supportClasses/SkinnableTextBase.html#style : focusColor

祝你好运,Rob

使用Flex 3,只需更改样式即可获得所需效果。

MXML:

<mx:TextInput
        styleName="{(whatever.isSomething() || whatever.isSomethingElse()) ? 'TextInputBlackOnWhite' : 'TextInputWhiteOnBlack'}"
        text="{whatever.value}"/>

样式:

.TextInputBlackOnWhite
{
    borderSkin: Embed(source="assets/images/TextInput_BlackOnWhite.png", scaleGridLeft="2",scaleGridTop="2",scaleGridRight="19",scaleGridBottom="19");
    color: #000000;
}

.TextInputWhiteOnBlack
{
    borderSkin: Embed(source="assets/images/TextInput_WhiteOnBlack.png", scaleGridLeft="2",scaleGridTop="2",scaleGridRight="19",scaleGridBottom="19");
    color: #FFFFFF;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM