Android TextView中改变部分文字颜色的几种方式
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中改变部分文字颜色的几种方式相关推荐
- 安卓TextView中改变部分文字颜色的几种方式
1. 第一种使用SpannableStringBuilder //部分文字改变颜色 //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色 For ...
- Android TextView中设定个别文字字体显示格式
Android TextView中设定个别文字字体显示格式 文章分类:移动开发 用Html来格式化字符,例如要实现如下的显示: "这只是一个测试字符串,测试黑体字.斜体字.下划线.红色字的显示." 可 ...
- android 字体点击变色,Android TextView 中实现部分文字变色以及点击事件
首先要想实现文字变色以及点击,都需要使用到SpannableStringBuilder,实例化该类也很简单,只需将你想要处理的字符串当做参数 SpannableStringBuilder spanna ...
- css改变纯色图片颜色的几种方式
公司最近做个项目,碰上了用状态控制图片的展示,图片区别就在于颜色不同,为了网络性能优化,用css进行着色重复利用 方案一 filter: drop-shadow() filter: drop-shad ...
- Viewpager中改变PagerTabStrip的颜色(背景色,指示条颜色,文字颜色)
Viewpager中改变PagerTabStrip的颜色(背景色,指示条颜色,文字颜色) 效果图: 改变指示条颜色: pagerTabStrip为PagerTabStrip的实例: pagerTabS ...
- TextView使用Html适配文字颜色(color:““)、文字大小(font-size:14px)、文字权重(font-weight:500)
TextView使用Html适配文字颜色(color:"").文字大小(font-size:14px).文字权重(font-weight:500) TextView中提供了Html ...
- Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色
Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色 在图12.10~12.12中我们会看到在各个平台下活动指示器的颜色是不一样的.Android的活动指示器默认是深粉色的: ...
- 在Textview中获取指定文字位置(兼顾网址链接和emoji表情),并在其附近展示图片
本文主要讲在Textview中获取指定文字的位置,最后,附带一点文字宽高的测量. 下面,我会给出全部源码.自己建个demo,复制进去就能跑起来. 先强调一下,不建议在ListView中使用.最好是在一 ...
- Android编辑框不能输入汉字,Android编程中EditText限制文字输入的方法
本文实例讲述了Android编程中EditText限制文字输入的方法.分享给大家供大家参考,具体如下: Android的编辑框控件EditText在平常编程时会经常用到,有时候会对编辑框增加某些限制, ...
最新文章
- ASP.NET 无限级分类实现实例(深度字段)
- cnpm 安装文件找不到_大师操作win7系统电脑软件中找不到已经安装字体的恢复步骤...
- 11gR2 RAC GoldenGate的HA配置
- 科普:CPU缓存一致性协议
- windows驱动开发详解学习笔记
- 【渝粤教育】国家开放大学2018年春季 0434-22T高级英语口语 参考试题
- mac os x10.9.2 查看进程对应端口
- JAVA内存的可见性
- 从北大高材生被华为辞退中我们需要学到什么?
- Google Chrome 工程师:JavaScript 不容错过的八大优化建议
- [转帖]Mootools源码分析-23 -- Selectors-2
- Win11、Linux 双系统安装方法
- pytorch下载加载mnist数据集
- 高德地图——地理围栏
- 使用PyTorch搭建ResNet101、ResNet152网络
- matlab之产品大全
- BAT批处理文件 reg命令详解
- Java学习笔记分享之MyBatis篇(中)
- JAVA有percentile函数吗_计算DAX中的PERCENTILE
- 机器码怎么改?笔记本机器码怎么改?(最新你看你也会)
热门文章
- MSDN Forum - SharePoint 自定义的自增长编号字段
- 运行阶段类型识别RTTI
- BSV将在波兰华沙举办Blockchain 4 Gaming大会
- Zynq UltraScale+ MPSoC-模拟U盘
- CAD制图,机械CAD,建筑CAD,电力CAD,CAD设计, CAD标注, 打印, 软件开发 ,VC++源代码,VB 控件源程序...
- 白酒TOP5掉队者的逆旅:洋河股份是怎么错过这轮黄金周期的?
- 打印机可以打印不能扫描怎么弄_多功能打印机只能打印,不能扫描,怎么回事? – 手机爱问...
- 读《解忧杂货店》东野圭吾(日本人)
- sudo 命令无法使用
- sudo 命令_su、sudo、sudo su、sudo -i的用法和区别