【问题标题】:Flex 3: Highlight (changing background) of some characters within a stringFlex 3:突出显示(更改背景)字符串中的某些字符
【发布时间】:2012-03-02 21:07:35
【问题描述】:

我在 Flex 3 中实现了一个联系人列表,我现在已经实现了列表过滤来显示结果。但是,我想突出显示结果中的匹配字符,是否可以做到这一点?示例:

【问题讨论】:

标签: list apache-flex filter flex3 highlighting


【解决方案1】:

您可以使用this 库。从 gskinner 看example。您还可以使用 setTextFormat 更改某些字符的格式,但使用此方法您无法更改文本背景颜色。如果您不需要更改背景颜色,只需使用文本格式或 TextRange 下划线即可。

如果您需要 100% 的解决方案,只需深入了解 this 之类的解决方案或阅读 this 较旧但不错的帖子。希望这能让您知道从哪里开始。

【讨论】:

  • 就没有其他办法了吗?
  • 当然!我添加了更多链接,可以帮助您找到解决方案。
  • 这对您有帮助吗?如果这有帮助,请随时接受答案。
【解决方案2】:

要更改背景颜色,只需将 Label 或 Text 对象放在 HBox 内即可。

<mx:HBox>
   <mx:Label text="{contact.name}"/>
</mx:HBox>

然后在 HBox 上设置 backgroundColor,您可以将其作为 Label#parent 引用。由于您正在创建一个动态联系人列表,我假设您将它们放在一个数组中,并在数组上循环以检查名称是否匹配

var currentContact:Label = myContactLabelsArray.getItemAt(i);
...
Container(currentContact.parent).setStyle("backgroundColor","Yellow");

但是,以这种方式设置样式可能会很昂贵http://livedocs.adobe.com/flex/3/html/help.html?content=styles_08.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    相关资源
    最近更新 更多