2015-11-25 153 views
0

我想使用Html.fromHtml()方法將顏色設置爲部分文本。設置TextView的部分文字顏色?

我的代碼是

String name = "<font color=\"#B034A2\">" + notificationListBean.getUsername() + "</font>" 
textview.setText(Html.fromHtml(name)); 

但文本顏色沒有改變。

我也試過,但這個也沒有工作

Spannable wordtoSpan = new SpannableString(name);   
wordtoSpan.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.noti_color)), 0, name.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

textview.setText(wordtoSpan);

我應該怎麼做什麼樣的變化?

+0

你確定'textview'顯示在屏幕上嗎? – Blackbelt

+0

是的,但顏色沒有改變 –

+0

發表更多代碼。 – Blackbelt

回答

1

昨天我面臨同樣的問題Html.fromHtml(),所以我已經使用spannable這裏的字符串是如何,我會在下方修改

SpannableStringBuilder builder = new SpannableStringBuilder(); 

       SpannableString carOwnerSpannable= new SpannableString("Mayuri"); 
       carOwnerSpannable.setSpan(new ForegroundColorSpan(ContextCompat.getColor(JobDetailTabbedActivity.this,R.color.colorAccent)), 0, carOwnerName.length(), 0); 
       builder.append(carOwnerSpannable); 

       builder.append(" | LastName:Joshi"); 

       textView.settext(builder); 

評論你的代碼,如果這行不通。

預期輸出:

涅繭利(綠色(我的顏色口音爲綠色))|名字:喬希(在白色)

添加<color name="colorAccent">#1AB394</color>到colors.xml

+0

Thnaks這個工程... –

1

嘗試:

textView.setText(Html.fromHtml(name), TextView.BufferType.SPANNABLE); 
+0

我試過還沒有工作 –

0
Spannable wordtoSpan = new SpannableString(name);   
wordtoSpan.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.noti_color)), 0, name.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
textview.setText(wordtoSpan); 

你僅僅使用應該工作這段代碼。我把顏色加起來。用簡單的顏色測試它&固定範圍:

wordtoSpan.setSpan(new ForegroundColorSpan(Color.Red), 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
相關問題