我的应用程序上有简单的textView控制器 在这个textView我设置文本“123456789” - 文本颜色是黑色。
我希望最后一位数字(789)将以红色文字显示。
有没有简单的方法可以在不使用两个textView控件的情况下执行此操作 (一个将包含黑色的“123456”,第二个将包含红色的“789”)
答案 0 :(得分:13)
试试这个:
使用TextView
HTML
设为SpannableTextView
String text = "<font color='black'>123456</font><font color='red'>789</font>";
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
答案 1 :(得分:6)
答案 2 :(得分:5)
您可以使用
myTextView.setText(Html.fromHtml(stringB + "<font color=red>" + stringA + "</font>);
答案 3 :(得分:2)
您可以使用此方法
fmt.Println(cmd[3] == ":hey", cmd[3][1:] == "hey")
然后你打电话使用
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;
}
答案 4 :(得分:0)
您可以在java类中使用HTML横幅: 例如:
textElement.setText(Html.fromHtml("123456 <fontcolor='#FF0000'>789</font>"));
或者在XML文件中使用CData格式: 示例:
<string name="numbers"><![CDATA[123456<fontcolor="#FF0000">789</font>]]></string>
我希望能帮到你;)
答案 5 :(得分:0)
你可以使用这个。
textview.setText(Html.fromHtml(getString(R.string.stringname) + "" + " *" + "", Html.FROM_HTML_MODE_LEGACY));