android 中使用TextView实现分段显示不同颜色的字符串

一、最容易想到的是使用多个TextView,设置其android:textColor="#000000"

二、使用HTML标签

String content="我要显示<font color='#FF0000'>红色</font>";
TextView mytext= (TextView) view.findViewById(R.id.tvContent);
mytext.setText(Html.fromHtml(content));

三、借助SpannableString

SpannableString spannableString = new SpannableString("我想要的字符串123456");
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FE6026")), 1, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new AbsoluteSizeSpan(20, true), 2, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

三种方法的比较:

   第一种方法  最容易想到,但是过于繁琐,并且有点low。

   第二种方法  相对简单并且容易实现。

    第三种方法  能够实现比较复杂的格式要求,借助SpannableString还能实现字符串的其他格式要求,可以查文档看,只不过要知道字符串长度限制。

 

猜你喜欢

转载自blog.csdn.net/qq_25066049/article/details/82762318