博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpannableString富文本
阅读量:6272 次
发布时间:2019-06-22

本文共 1237 字,大约阅读时间需要 4 分钟。

忍不住想吐槽这个类,这个类是要给文本设置不同的颜色、字体样式

例子:一句话中只有某几个文字想要设置成不同的颜色

起初写了一个函数setColorStyle(),

public SpannableStringBuilder setColorStyle(String string){       SpannableStringBuilder strSpan = new SpannableStringBuilder(string);       strSpan.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.subject_background)),                                     0, string.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);              return strSpan;         }

然后显示的时候,wholeTime.setText(“练习耗时”+colorSpan+“击败了很多小盆友!”);

结果显示的没有任何变化,让我百思不得其解。。。。

后来尝试了wholeTime.setText(colorSpan+“击败了很多小盆友!”);   -----------还是不行

wholeTime.setText(colorSpan)-----------------------终于可以了。。。。

 

如果想要在富文本后面添加正常的文本,必须使用spannable的append方法

colorSpan.append(",成绩超过了全国99%的小朋友!");

如果想要在富文本前面添加正常的文本,

只能重写你的setColorStyle()的函数了,让他的起点从你想要展示的文本的index开始

 

//设置文本颜色   public SpannableStringBuilder setColorStyle(String string){       SpannableStringBuilder strSpan = new SpannableStringBuilder(string);       strSpan.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.subject_background)),                                     4, string.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);              return strSpan;         }

 

转载于:https://www.cnblogs.com/lucky-star-star/p/3873625.html

你可能感兴趣的文章
findlibrary returned null产生的联想,Android ndk开发打包时我们应该怎样注意平台的兼容(x86,arm,arm-v7a)...
查看>>
Android事件分发机制源代码分析
查看>>
《设计模式》结构型模式
查看>>
[javase学习笔记]-8.3 statickeyword使用的注意细节
查看>>
Spring集成RabbitMQ-使用RabbitMQ更方便
查看>>
Nginx 设置域名转向配置
查看>>
.net core 实现简单爬虫—抓取博客园的博文列表
查看>>
FP-Tree算法的实现
查看>>
Android 用Handler和Message实现计时效果及其中一些疑问
查看>>
Dos命令删除添加新服务
查看>>
C#.NET常见问题(FAQ)-索引器indexer有什么用
查看>>
hadoop YARN配置参数剖析—MapReduce相关参数
查看>>
Java 正则表达式详细使用
查看>>
【ADO.NET】SqlBulkCopy批量添加DataTable
查看>>
SqlServer--bat批处理执行sql语句1-osql
查看>>
Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
查看>>
laravel安装初体验
查看>>
用yum查询想安装的软件
查看>>
TIJ -- 吐司BlockingQueue
查看>>
数据库分页查询
查看>>