我的应用程序上有简单的textView控制器。
在这个textView我设置文本“123456789” - 文本颜色是黑色的。如何更改TextView部分的文本颜色?
我希望最后三位数字(789)将显示为红色文字颜色。
有没有什么简单的方法来做到这一点不使用两个TextView的控制
(一个包含“123456”的黑色和第二将包含“789”,在红)
我的应用程序上有简单的textView控制器。
在这个textView我设置文本“123456789” - 文本颜色是黑色的。如何更改TextView部分的文本颜色?
我希望最后三位数字(789)将显示为红色文字颜色。
有没有什么简单的方法来做到这一点不使用两个TextView的控制
(一个包含“123456”的黑色和第二将包含“789”,在红)
试试这个:
设置TextView
作为HTML
使用SpannableTextView
String text = "<font color='black'>123456</font><font color='red'>789</font>";
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
您可以使用
myTextView.setText(Html.fromHtml(stringB + "<font color=red>" + stringA + "</font>);
您可以使用HTML横幅在你的java类: 例子:
textElement.setText(Html.fromHtml("123456 <fontcolor='#FF0000'>789</font>"));
或者在XML文件中使用CData的格式: 例子:
<string name="numbers"><![CDATA[123456<fontcolor="#FF0000">789</font>]]></string>
我希望帮助你;)
我知道,所以是的比赛张贴答案..但要小心,然后提交答案。 – Amy
对不起,我现在在我的手机上,我无法设法显示它只是desapear的HTML脚本:/ –
您可以使用此方法
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)));
Html.fromHtml(文本)已被弃用,Html.fromHtml(字符串,整数),可从API级别24 .. –