textview可以有不同颜色的字母吗? [复制]

Posted

技术标签:

【中文标题】textview可以有不同颜色的字母吗? [复制]【英文标题】:Can textview have letters in different colors? [duplicate] 【发布时间】:2011-09-10 21:19:17 【问题描述】:

我想显示“123”,但 1 显示为红色,2 显示为绿色,3 显示为黑色...... 这可能吗,或者是否有任何其他推荐的方式在同一个文本视图中显示不同的文本颜色...

【问题讨论】:

我没有代码,但可以使用 html 文本完成 为什么?你做了一个线性布局并膨胀 texteview insade 有很多你想要的:D 【参考方案1】:

是的,如果您使用SpannableString,您可以在文本的不同位置使用不同的颜色。示例:

SpannableString text = new SpannableString("Lorem ipsum dolor sit amet");  
// make "Lorem" (characters 0 to 5) red  
text.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);  
textView.setText(text, BufferType.SPANNABLE);

还有一个更完整的例子here。

Javadoc for SpannableString

【讨论】:

您的答案应该被标记为正确的答案(不是标记为正确的答案不是,而是我认为这是正确的方法)。【参考方案2】:

啊,我发现它使用下面的代码

myTextView.setText(Html.fromHtml(html text having 1 in red 2 in green and so on));

我不懂网络,所以你最好咨询可以为你写html的人:P

【讨论】:

tnx ,这里有更完整的东西 String styledText ="asd"; cache.timeView.setText(Html.fromHtml(styledText)); 我不认为使用 html 是正确的方法。 为什么 html 不是正确的方式@Kaj?【参考方案3】:

您可以像这样在没有 html 的情况下打印具有多种颜色的线条:)

TextView TV = (TextView)findViewById(R.id.mytextview01);

  Spannable WordtoSpan = new SpannableString("Your message");        

WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, WordtoSpan .length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

TV.setText(WordtoSpan);

【讨论】:

以上是关于textview可以有不同颜色的字母吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在Android Textview中为不同的超链接使用不同的颜色

textview可以设置字体的粗体 斜体吗

如何更改 Textview 中的字母间距?

如何更改 Textview 中的字母间距?

Android用代码给TextView中间部分设置不同的颜色

Android用代码给TextView中间部分设置不同的颜色