首页 > 代码库 > SpannableString富文本
SpannableString富文本
忍不住想吐槽这个类,这个类是要给文本设置不同的颜色、字体样式
例子:一句话中只有某几个文字想要设置成不同的颜色
起初写了一个函数setColorStyle(),
public SpannableStringBuilder setColorStyle(String string){ SpannableStringBuilder strSpan = new SpannableStringBuilder(string); strSpan.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.subject_background)), 0, string.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); return strSpan; }
然后显示的时候,wholeTime.setText(“练习耗时”+colorSpan+“击败了很多小盆友!”);
结果显示的没有任何变化,让我百思不得其解。。。。
后来尝试了wholeTime.setText(colorSpan+“击败了很多小盆友!”); -----------还是不行
wholeTime.setText(colorSpan)-----------------------终于可以了。。。。
如果想要在富文本后面添加正常的文本,必须使用spannable的append方法
colorSpan.append(",成绩超过了全国99%的小朋友!");
如果想要在富文本前面添加正常的文本,
只能重写你的setColorStyle()的函数了,让他的起点从你想要展示的文本的index开始
//设置文本颜色 public SpannableStringBuilder setColorStyle(String string){ SpannableStringBuilder strSpan = new SpannableStringBuilder(string); strSpan.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.subject_background)), 4, string.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); return strSpan; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。