我试图对输入字符串的指定字符进行着色。从数据库输入字符串。问题是:如何着色这样的指定字符? :
所以,每个角色" mp"是红色的。以及如何扫描是否有" mp"字符?文本在数据库中是动态的。并不总是像上面那样。我想要每一个" mp"字符是红色。不仅仅是"简单"文本,但也包含每个包含" mp"字符。如果有,则将该字符着色为红色。 我正在使用java Android编程。
感谢。
答案 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);