首页 > 解决方案 > 如何更改文本之间提到的字符串的文本颜色

问题描述

我有一个文本视图。在 Textview 上设置文本并在文本之间包含一个字符串,如下面的代码。

如何在 Android 中更改字符串的颜色和文本样式。

tv.setText("some text"+String+"some text")

标签: javaandroid

解决方案


您可以使用Foreground Color Span 类

String yourString = "color me red";
SpannableString spannableString = new SpannableString(yourString);
ForegroundColorSpan red = new ForegroundColorSpan(Color.RED);
spannableString.setSpan(red, 9, 11, Spanned,SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(spannableString);

上面的代码会将字符串中“红色”的颜色更改为 ForegroundColorSpan 中定义的红色。您必须定义跨度的开始和结束位置,如字符串数组上的第 9 到 11 项。


推荐阅读