我想显示“123”,但让1显示为红色,2显示为绿色,3显示为黑色... 是否可能?或者有没有其他推荐在同一个TextView中显示不同文本颜色的方法?
我想在同一个TextView中显示“123”,但是让其中的数字1显示为红色,数字2显示为绿色,数字3显示为黑色。是否有可能实现这个效果?如果不能,是否有其他建议的方法可以在同一个TextView中显示不同的文本颜色?
我想在同一个TextView中显示“123”,但是让其中的数字1显示为红色,数字2显示为绿色,数字3显示为黑色。是否有可能实现这个效果?如果不能,是否有其他建议的方法可以在同一个TextView中显示不同的文本颜色?
如果你正在使用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);
这里有一个更完整的例子点击这里。
myTextView.setText(Html.fromHtml(html text having 1 in red 2 in green and so on));
您可以像这样使用无需 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);