java - 是否可以将字符串中的文本颜色更改为 Java 中的多种颜色?

标签 java android string textcolor

我的意思是,是否可以在单个字符串中将文本“This text is blue”更改为蓝色?一定有办法……

<TextView
    android:gravity="left"
    android:padding="3dip"
    android:text="This text is white. This text is blue."
    android:textColor="#ffffff"
    android:textSize="22dp"/>

最佳答案

是的,有可能。为此,您需要使用 SpannableStringForegroundColorSpan .

这应该看起来像这样:

SpannableStringBuilder builder = new SpannableStringBuilder();

String red = "this is red";
SpannableString redSpannable= new SpannableString(red);
redSpannable.setSpan(new ForegroundColorSpan(Color.RED), 0, red.length(), 0);
builder.append(redSpannable);

String white = "this is white";
SpannableString whiteSpannable= new SpannableString(white);
whiteSpannable.setSpan(new ForegroundColorSpan(Color.WHITE), 0, white.length(), 0);
builder.append(whiteSpannable);

String blue = "this is blue";
SpannableString blueSpannable = new SpannableString(blue);
blueSpannable.setSpan(new ForegroundColorSpan(Color.BLUE), 0, blue.length(), 0);
builder.append(blueSpannable);

mTextView.setText(builder, BufferType.SPANNABLE);

enter image description here

关于java - 是否可以将字符串中的文本颜色更改为 Java 中的多种颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8405661/

相关文章:

java - android 中的 RX Java 对象是否绑定(bind)到 Activity ?

java - Android Studio(IntelliJ),maven构建工具: Failed to load dx. jar

python - 如何使用 Python 搜索字典值是否包含特定字符串

r - 字符串向量的每 "\\-"个字母添加 "x"

java - 将 ArrayList 元素向右移动

Java:如何按降序打印对象属性列表的值?

java - 添加 GeoFence jar 库后 GeoServe 崩溃

java - 具有副作用的不可变对象(immutable对象)

java - 在为图像集成 firebase 数据引用时,我遇到了下面提到的错误

c - 如何从字符串中删除所有出现的特定字符?