我在我的应用程序中有一个简单的textView控件。
在这个textView上,我设置了文本“123456789” - 文本颜色为黑色。
我想让最后三位数字(789)以红色文本颜色显示。
是否有任何简单的方法可以做到这一点,而不使用两个textView控件
(一个将包含黑色的“123456”,另一个将包含红色的“789”)我在我的应用程序中有一个简单的textView控件。
在这个textView上,我设置了文本“123456789” - 文本颜色为黑色。
我想让最后三位数字(789)以红色文本颜色显示。
是否有任何简单的方法可以做到这一点,而不使用两个textView控件
(一个将包含黑色的“123456”,另一个将包含红色的“789”)尝试一下:
使用 SpannableTextView
将 TextView
设置为 HTML
格式。
String text = "<font color='black'>123456</font><font color='red'>789</font>";
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
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)));
您可以使用
myTextView.setText(Html.fromHtml(stringB + "<font color=red>" + stringA + "</font>);
您可以在Java类中使用HTML横幅: 示例:
textElement.setText(Html.fromHtml("123456 <fontcolor='#FF0000'>789</font>"));
或者在您的XML文件中使用CData格式: 示例:
<string name="numbers"><![CDATA[123456<fontcolor="#FF0000">789</font>]]></string>
希望那可以帮到你;)
你可以使用这个。
textview.setText(Html.fromHtml(getString(R.string.stringname) + "" + " *" + "", Html.FROM_HTML_MODE_LEGACY));