【问题标题】:Coloring specified character of string in java在java中为字符串的指定字符着色
【发布时间】:2014-08-07 03:48:58
【问题描述】:

我正在尝试对输入字符串的指定字符进行着色。从数据库加载输入字符串。问题是:如何为这样的指定字符着色? :

所以,每个字符“mp”都是红色的。以及如何扫描是否有“mp”字符?文本是来自数据库的动态。并不总是像上面那样。我希望每个“mp”字符都是红色的。不仅在“简单”文本中,而且在每个包含“mp”字符的文本中。如果有,则将该字符着色为红色。 我正在使用 java Android 编程。

谢谢。

【问题讨论】:

  • 如果有“mp”字符怎么扫描?文本是来自数据库的动态。并不总是像上面那样。
  • Ruchira : 不一样,我要扫描文本,有“mp”字符吗?如果有,则将该字符着色为红色。

标签: java android character text-coloring


【解决方案1】:
ArrayList<Integer> positions = new ArrayList();
Pattern p = Pattern.compile("mp");  // insert your pattern here
Matcher m = p.matcher("Simple Text, bumping , jumping");
while (m.find()) {
   positions.add(m.start());
}

// interate this for position times 
Spannable spanning = new SpannableString("Simple Text");        

spanning.setSpan(new ForegroundColorSpan(Color.BLUE),positions.get(i), positions.get(i)+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

textview.setText(spanning);

【讨论】:

  • 如果有“mp”字符怎么扫描?文本是来自数据库的动态。并不总是像上面那样
  • 你可以使用函数索引
  • 但是,如果有文本“bumping”,上面的代码就不起作用。帮我。我希望每个“mp”字符都是红色的。不仅在“简单”文本中,而且在每个包含“mp”字符的文本中。
  • 你只需要突出显示简单吗?
  • 不,不仅在“简单”文本中,而且在所有包含“mp”字符的文本中
猜你喜欢
  • 2021-10-24
  • 2014-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
  • 2020-03-02
  • 2020-10-11
  • 2020-08-16
相关资源
最近更新 更多