Android中一个textviewz中的字符串俩个颜色显示

来源:互联网 发布:杨米尔斯理论 知乎 编辑:程序博客网 时间:2024/06/09 05:06
在开发中又是会遇到一个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;

}
0 0
原创粉丝点击