【发布时间】:2012-03-06 12:17:33
【问题描述】:
我想在单个文本视图中显示前“RedBlueGray”的字符串,例如红色应该显示为红色字体颜色,蓝色显示为蓝色字体,灰色显示为灰色字体。这可能吗?如果是这样,实现的最佳方法是什么。请注意,我要显示的字符串会动态变化,但颜色不会变化。
【问题讨论】:
标签: android textview textcolor
我想在单个文本视图中显示前“RedBlueGray”的字符串,例如红色应该显示为红色字体颜色,蓝色显示为蓝色字体,灰色显示为灰色字体。这可能吗?如果是这样,实现的最佳方法是什么。请注意,我要显示的字符串会动态变化,但颜色不会变化。
【问题讨论】:
标签: android textview textcolor
您可以使用以下内容:
actualStringToDisplay="<font COLOR=\"RED\"><b>" + yourString + "</b></font>";
textDisplayedBottom.setText(Html.fromHtml(actualStringToDisplay));
希望这会有所帮助。
【讨论】:
请参阅 SpannedString 和 SpannedStringBuilder 和 ColorSpan
http://developer.android.com/reference/android/text/style/ForegroundColorSpan.html
http://developer.android.com/reference/android/text/SpannedString.html
【讨论】:
定义一个 html 字符串的最简单方法:
String text="<FONT COLOR="#RED">red</FONT><FONT COLOR="#GREEN">green</FONT><FONT COLOR="#BLUE">blue/FONT>";
将此字符串设置为 textView by
TextView.setText(Html.fromHtml(text));
【讨论】: