簡體   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