2015-11-25 2 views
0

Я хочу установить цвет для части текста, используя метод Html.fromHtml().Установить часть текста TextView?

Мой код

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

Но TextColor не меняется.

Я также попытался это, но это также не работает

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

Вы уверены, что на экране отображается текст? – 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); 

комментарий ниже, если это не работает ,

Ожидаемый результат:

Mayuri (в зеленый цвет (мой цвет акцент зеленый)) | LastName: Joshi (в белом)

добавить <color name="colorAccent">#1AB394</color> к colors.xml

+0

Thnaks это работает ... –

1

Try:

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); 
Смежные вопросы