最近由于项目需求,需要根据用户姓名与欢迎语字体颜色区分开来!
以前刚开始的时候会考虑用多个TextView配合
可是!如果用户数量不止一位呢!?
在baidu搜了一些资料,发现有些使用到了自定义View来达成该目标
不过呢!我比较懒,就看找找看有没有其他的方法!
让我惊喜的发现,不用自定义View也能实现一个 一个TextView字体设置多种不同颜色
好了!先看效果图
一个TextView字体设置多种颜色.PNG不要太在意效果图是否是不是真的有多种颜色!
这个根据需求来决定的嘛
关键代码
SpannableString spannableString = new SpannableString(stringBuilder.toString());
for (int i = 0; i < indexList.size(); i++) {
WelcomeIndex index = indexList.get(i);
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#f5863e")), index.getBeforeIndex(), index.getAfterIndex(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
tvWelcome.setText(spannableString);
网友评论