在TextView Android中为文本设置不同的颜色

时间:2014-02-11 11:52:02

标签: java android textview

我在应用程序中放入了一个片段内的textview。每个页面都有不同的文本。我希望每当你找到例如“树”这个词时,这个词就会被涂成红色而其余的颜色就是白色。我怎么能这样做?感谢

2 个答案:

答案 0 :(得分:0)

要更改文字的颜色,请使用:

textview.setTextColor(Color.RED);

答案 1 :(得分:0)

Pattern pattern = Pattern.compile("tree");
Matcher matcher = pattern.matcher(yourTextViewText);

final SpannableStringBuilder spannableBuilder = new SpannableStringBuilder(yourTextViewText);
final ForegroundColorSpan span = new ForegroundColorSpan(Color.RED);
while (matcher.find()) {
    spannableBuilder.setSpan(
        span, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
yourTextView.setText(spannableBuilder);

这将用红色替换所有单词“tree”。

See More About Pattern Here