我的應用程序上有簡單的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 .. –