本帖最后由 liu 于 2018-12-22 11:18 编辑
开发中有的时候会遇到一行字显示了两种颜色,通过布局设置比较麻烦,我们就需要来了解下怎么使用java代码进行设置
两种方法:
第一种:
[Java] 纯文本查看 复制代码 String str = "大家好,欢迎大家加入苏飞论坛";
TextView tv = (TextView) findViewById(R.id.tv);
SpannableStringBuilder builder = new SpannableStringBuilder(str);
//ForegroundColorSpan为文字前景色
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.RED);
/**
*第一个参数 设置的span类型(颜色粗细等)
*第二个参数 开的索引,从0开始
*第三个参数 span结束的索引
*第四个参数 是否作用于span范围前后新增的字符
*/
builder.setSpan(foregroundColorSpan, 10, 14, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(builder);
效果如下图:
第二种:
[Java] 纯文本查看 复制代码 String str = "大家好,欢迎大家加入" + "<font color='#fff000'>" + "苏飞论坛" + "</font>";
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText(Html.fromHtml(str));
效果如下图:
|