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

标签 java android character text-coloring

我正在尝试对输入字符串的指定字符进行着色。从数据库中加载输入字符串。问题是:如何给指定字符着色? : enter image description here

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

谢谢。

最佳答案

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

关于java - 在java中着色字符串的指定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25173803/

相关文章:

java - Java 中的 cometd HTTP 模式

安卓 :unable to play video

android - 如何在 TableLayout 中创建三列

c - C 中 strcat 和 strncat 函数的另一种替代方法是什么?

java - TTP 状态 500 - 实例化 servlet 类时出错 com.zestedesavoir.servlets.Test>

java - 双击执行 Selenium 的 javascript

android - 透明纹理帧缓冲区 (OpenGL ES 2)

计算具有多个空格的单词数

java - 允许中文字符的正则表达式

java - 如何解决未解析的依赖关系 ':app@debug/compileClasspath' : Could not resolve com. google.android.gms :play-services-base:[15. 0.0, 16.0.0)