我想使用Html.fromHtml()
方法将颜色设置为文本的一部分。
我的代码是
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 :(得分:1)
尝试:
textView.setText(Html.fromHtml(name), TextView.BufferType.SPANNABLE);
答案 1 :(得分: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(绿色(我的颜色重音为绿色))|姓氏:Joshi(白色)
将<color name="colorAccent">#1AB394</color>
添加到colors.xml
答案 2 :(得分: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);