gpt4 book ai didi

android - XML 中定义的 TextView 中的不同颜色

转载 作者:太空狗 更新时间:2023-10-29 12:54:05 25 4
gpt4 key购买 nike

我想在单个 TextView 中定义不同的颜色,如下所示:

<font color="yellow">Hi </font><font color="red">everybody</font>  

我看到了这个链接:Is it possible to have multiple styles inside a TextView? .但它不适合我。我想知道如何通过 XML 定义它。是否有可能做到这一点?谢谢

最佳答案

我们不能在 XML 文件中设置,但我们可以设置为编码...你必须使用 text spannable..这是例子..

String text = "Hi @@hello@@";

TextView.setText(setSpanBetweenTokens(text, "@@", newForegroundColorSpan(Color.RED)));

您的 setSpanBetweenTokens 方法

public static CharSequence setSpanBetweenTokens(CharSequence text,
String token, CharacterStyle... cs)
{
// Start and end refer to the points where the span will apply
int tokenLen = token.length();
int start = text.toString().indexOf(token) + tokenLen;
int end = text.toString().indexOf(token, start);


if (start > -1 && end > -1)
      {               
SpannableStringBuilder ssb = new SpannableStringBuilder(text);
for (CharacterStyle c : cs)
ssb.setSpan(c, start, end, 0);

// Delete the tokens before and after the span
ssb.delete(end, end + tokenLen);
ssb.delete(start - tokenLen, start);

text = ssb;
}
return text;
}

关于android - XML 中定义的 TextView 中的不同颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8784422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com