我有一个字符串名称“ classe”。它包含许多单词和短语。但是我想在字符串包含单词"idiom"
时更改颜色。我以编程方式完成了此操作,但是它更改了所有字符串“ classe”的颜色。我只想更改“成语”的颜色(单词的一部分,而不是整个短语)。如何以编程方式做到这一点?
if (classe.contains("idiom")) {
txtclasse.setTextColor(getResources().getColor(R.color.orange));
}
最佳答案
使用ForegroundColorSpan。
if(classe != null && classe.contains(“idiom”))
{
Spannable spannable = new SpannableString(classe);
spannable.setSpan(new ForegroundColorSpan(Color.BLUE), classe.indexOf(“idiom”), classe.indexOf(“idiom”) + “idiom”.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
txtclasse.setText(spannable);
}