在开发中又是会遇到一个textview中的字符串需要用俩种不同的颜色来表是,例如显示价格的字符串中汉字用黑色表示,数字用红色表示
这里需要用到SpannableString,
SpannableString用来处理一个textview上放置不同风格的文字
SpannableString spannableString = new SpannableString(txt);
//txt是整个字符串
//startIndex 从第几位开始
//
txt.length()是在第几位结束
//col是中间的文字显示什么的颜色
public static SpannableString AutolinkName(String txt, int startIndex,
int colorNum, final Context con) {
int col = 0;
switch (colorNum) {
case 0:// 红色
col = 0xffc40000;
break;
case 1:// 绿色
col = 0xff22ac38;
break;
case 2:// 橘色
col = 0xffeb6100;
}
SpannableString spannableString = new SpannableString(txt);
spannableString.setSpan(new ForegroundColorSpan(col), startIndex,
txt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return spannableString;
}