【发布时间】:2016-02-19 18:30:21
【问题描述】:
我的应用程序上有简单的 textView 控制器。
在这个 textView 上,我设置了文本“123456789” - 文本颜色为黑色。
我希望最后三个数字 ( 789 ) 以红色文本颜色显示。
有没有不使用两个 textView 控件的简单方法
(一个将包含黑色的“123456”,第二个将包含红色的“789”)
【问题讨论】:
标签: android
我的应用程序上有简单的 textView 控制器。
在这个 textView 上,我设置了文本“123456789” - 文本颜色为黑色。
我希望最后三个数字 ( 789 ) 以红色文本颜色显示。
有没有不使用两个 textView 控件的简单方法
(一个将包含黑色的“123456”,第二个将包含红色的“789”)
【问题讨论】:
标签: android
你可以用这个。
textview.setText(Html.fromHtml(getString(R.string.stringname) + "" + " *" + "", Html.FROM_HTML_MODE_LEGACY));
【讨论】:
你可以用这个方法
public static final Spannable getColoredString(Context context, CharSequence text, int color) {
Spannable spannable = new SpannableString(text);
spannable.setSpan(new ForegroundColorSpan(color), 0, spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return spannable;
}
然后你调用是通过使用
textview.append(getColoredString(this, "Hi!", ContextCompact.getColor(this, R.color.red)));
textview.append(getColoredString(this, "User", ContextCompact.getColor(this, R.color.green)));
【讨论】:
您可以在您的 java 类中使用 HTML 横幅: 示例:
textElement.setText(Html.fromHtml("123456 <fontcolor='#FF0000'>789</font>"));
或者在您的 XML 文件中使用 CData 格式: 示例:
<string name="numbers"><![CDATA[123456<fontcolor="#FF0000">789</font>]]></string>
希望对你有所帮助;)
【讨论】:
你可以使用
myTextView.setText(Html.fromHtml(stringB + "<font color=red>" + stringA + "</font>);
【讨论】:
试试这个:
使用SpannableTextView 将TextView 设置为HTML
String text = "<font color='black'>123456</font><font color='red'>789</font>";
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
【讨论】: