在java中着色字符串的指定字符

时间:2014-08-07 03:48:58

标签: java android character text-coloring

我试图对输入字符串的指定字符进行着色。从数据库输入字符串。问题是:如何着色这样的指定字符? :enter image description here

所以,每个角色" mp"是红色的。以及如何扫描是否有" mp"字符?文本在数据库中是动态的。并不总是像上面那样。我想要每一个" mp"字符是红色。不仅仅是"简单"文本,但也包含每个包含" mp"字符。如果有,则将该字符着色为红色。 我正在使用java Android编程。

感谢。

1 个答案:

答案 0 :(得分:3)

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);