1. 第一种使用SpannableStringBuilder

//部分文字改变颜色
//ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色
ForegroundColorSpan redSpan = new ForegroundColorSpan(getResources().getColor(R.color.text_red));
ForegroundColorSpan graySpan = new ForegroundColorSpan(getResources().getColor(R.color.text_gray));
mTextView.setText("灰色红色");
//这里注意一定要先给textview赋值
SpannableStringBuilder builder = new SpannableStringBuilder(mTextView.getText().toString());
//为不同位置字符串设置不同颜色
builder.setSpan(graySpan, 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(redSpan, 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//最后为textview赋值
mTextView.setText(builder); 

2. 第二种,使用Html.fromHtml()

TextView desc1 = (TextView)findViewById(R.id.desc1);
TextView desc2 = (TextView)findViewById(R.id.desc2);
TextView desc3 = (TextView)findViewById(R.id.desc3);
String content1 = "务必使用<font color='red'>银行卡</font>开户时<font color='red'>预留手机号</font>!";
String content2 = "点击获取验证码按钮后,您将收到<font color='red'>银行验证码短信</font>!";
String content3 = "时间<font color='red'>工作日09:00 - 次日06:00</font>!";
desc1.setText(Html.fromHtml(content1));
desc2.setText(Html.fromHtml(content2));
desc3.setText(Html.fromHtml(content3));

3. 总结

1. 使用SpannableStringBuilder由于颜色是在本地定义的,所以可以精确地控制要显示的颜色,兼容性最好。

缺点也很明显太麻烦了,需要为每一种颜色定义一个ForegroundColorSpan

2. 使用Html方式则相对比较简单,直接在字符串里面使用标签即可,但是缺点也相对明显,只能使用标签里面预定义的集中颜色值,与本地兼容性不是很好。

4. 若还有其他方式欢迎指出。

Android TextView中改变部分文字颜色的几种方式相关推荐

  1. 安卓TextView中改变部分文字颜色的几种方式

    1. 第一种使用SpannableStringBuilder //部分文字改变颜色 //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色 For ...

  2. Android TextView中设定个别文字字体显示格式

    Android TextView中设定个别文字字体显示格式 文章分类:移动开发 用Html来格式化字符,例如要实现如下的显示: "这只是一个测试字符串,测试黑体字.斜体字.下划线.红色字的显示." 可 ...

  3. android 字体点击变色,Android TextView 中实现部分文字变色以及点击事件

    首先要想实现文字变色以及点击,都需要使用到SpannableStringBuilder,实例化该类也很简单,只需将你想要处理的字符串当做参数 SpannableStringBuilder spanna ...

  4. css改变纯色图片颜色的几种方式

    公司最近做个项目,碰上了用状态控制图片的展示,图片区别就在于颜色不同,为了网络性能优化,用css进行着色重复利用 方案一 filter: drop-shadow() filter: drop-shad ...

  5. Viewpager中改变PagerTabStrip的颜色(背景色,指示条颜色,文字颜色)

    Viewpager中改变PagerTabStrip的颜色(背景色,指示条颜色,文字颜色) 效果图: 改变指示条颜色: pagerTabStrip为PagerTabStrip的实例: pagerTabS ...

  6. TextView使用Html适配文字颜色(color:““)、文字大小(font-size:14px)、文字权重(font-weight:500)

    TextView使用Html适配文字颜色(color:"").文字大小(font-size:14px).文字权重(font-weight:500) TextView中提供了Html ...

  7. Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色

    Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色 在图12.10~12.12中我们会看到在各个平台下活动指示器的颜色是不一样的.Android的活动指示器默认是深粉色的: ...

  8. 在Textview中获取指定文字位置(兼顾网址链接和emoji表情),并在其附近展示图片

    本文主要讲在Textview中获取指定文字的位置,最后,附带一点文字宽高的测量. 下面,我会给出全部源码.自己建个demo,复制进去就能跑起来. 先强调一下,不建议在ListView中使用.最好是在一 ...

  9. Android编辑框不能输入汉字,Android编程中EditText限制文字输入的方法

    本文实例讲述了Android编程中EditText限制文字输入的方法.分享给大家供大家参考,具体如下: Android的编辑框控件EditText在平常编程时会经常用到,有时候会对编辑框增加某些限制, ...

最新文章

  1. ASP.NET 无限级分类实现实例(深度字段)
  2. cnpm 安装文件找不到_大师操作win7系统电脑软件中找不到已经安装字体的恢复步骤...
  3. 11gR2 RAC GoldenGate的HA配置
  4. 科普:CPU缓存一致性协议
  5. windows驱动开发详解学习笔记
  6. 【渝粤教育】国家开放大学2018年春季 0434-22T高级英语口语 参考试题
  7. mac os x10.9.2 查看进程对应端口
  8. JAVA内存的可见性
  9. 从北大高材生被华为辞退中我们需要学到什么?
  10. Google Chrome 工程师:JavaScript 不容错过的八大优化建议
  11. [转帖]Mootools源码分析-23 -- Selectors-2
  12. Win11、Linux 双系统安装方法
  13. pytorch下载加载mnist数据集
  14. 高德地图——地理围栏
  15. 使用PyTorch搭建ResNet101、ResNet152网络
  16. matlab之产品大全
  17. BAT批处理文件 reg命令详解
  18. Java学习笔记分享之MyBatis篇(中)
  19. JAVA有percentile函数吗_计算DAX中的PERCENTILE
  20. 机器码怎么改?笔记本机器码怎么改?(最新你看你也会)

热门文章

  1. MSDN Forum - SharePoint 自定义的自增长编号字段
  2. 运行阶段类型识别RTTI
  3. BSV将在波兰华沙举办Blockchain 4 Gaming大会
  4. Zynq UltraScale+ MPSoC-模拟U盘
  5. CAD制图,机械CAD,建筑CAD,电力CAD,CAD设计, CAD标注, 打印, 软件开发 ,VC++源代码,VB 控件源程序...
  6. 白酒TOP5掉队者的逆旅:洋河股份是怎么错过这轮黄金周期的?
  7. 打印机可以打印不能扫描怎么弄_多功能打印机只能打印,不能扫描,怎么回事? – 手机爱问...
  8. 读《解忧杂货店》东野圭吾(日本人)
  9. sudo 命令无法使用
  10. sudo 命令_su、sudo、sudo su、sudo -i的用法和区别