专栏首页CodeAndroid中TextView文字设置不同的颜色

Android中TextView文字设置不同的颜色

在项目的过程中会遇到在一行文字中,部分功能需要不同的文字颜色来展示,下面介绍两种方式实现:

效果图:

这里写图片描述

方式一:

用SpannableStringBuilder来实现

TextView tv=(TextView)findViewById(R.id.tv);
String content = "只会玩战士回复冷云他大叔:啊哈哈哈或";

SpannableStringBuilder builder = new SpannableStringBuilder(content);

//ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色
ForegroundColorSpan buleSpan = new ForegroundColorSpan(Color.parseColor("#4d8ade"));
ForegroundColorSpan buleSpan1 = new ForegroundColorSpan(Color.parseColor("#4d8ade"));
ForegroundColorSpan blackSpan = new ForegroundColorSpan(Color.parseColor("#000000"));

builder.setSpan(buleSpan1, 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(blackSpan, 5, 7, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
builder.setSpan(buleSpan, 7, 12, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(blackSpan,12, 17, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

tv.setText(builder);

其中,”只会玩战士回复冷云他大叔:有钱任性” 为你要改变的文本。setSpan方法有四个参数,ForegroundColorSpan是为文本设置前景色,也就是文字颜色。如果要为文字添加背景颜色,可替换为BackgroundColorSpan。0为文本颜色改变的起始位置,5为文本颜色改变的结束位置。最后一个参数为布尔型,可以传入以下四种。 Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到终了下标,包括起始下标 Spanned.SPAN_INCLUSIVE_INCLUSIVE 从起始下标到终了下标,同时包括起始下标和终了下标 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 从起始下标到终了下标,但都不包括起始下标和终了下标 Spanned.SPAN_EXCLUSIVE_INCLUSIVE 从起始下标到终了下标,包括终了下标

方式二:

用HTML的方式实现:

TextView tv=(TextView)findViewById(R.id.tv);
String str="<font color='#4d8ade'>只会玩战士</font>回复<font color='#4d8ade'>冷云他大叔</font>:啊哈哈哈或";
tv.setTextSize(15);
tv.setText(Html.fromHtml(str));

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android使用WebView加载H5页面播放视频音频,退出后还在播放问题解决

    Android中经常会使用到WebView来加载H5的页面,如果H5页面中有音频或者视频的播放时,还没播放完就退出界面,这个时候会发现音频或者视频还在后台播放,...

    SoullessCoder
  • 使用Git将本地项目上传Github(仓库创建、Git安装与使用、项目上传)

    GitHub是基于git实现的代码托管。git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好。

    SoullessCoder
  • Android解决“java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity”问题方案

    最近在友盟收集的错误列表中,发现有个问题使得蛮多用户闪退的。根据错误信息定位到,是由于图片轮播控件com.youth.banner使用Glide异步加载图片时发...

    SoullessCoder
  • Cypress web自动化15-Hooks使用方法

    Cypress 提供了 hooks 函数,方便我们在组织测试用例的时候,设置用例的前置操作和后置清理。 类似于 python 的 unittest 里面的 se...

    上海-悠悠
  • 通过GSMA安全认证计划(SAS-SM)的企业

    我们知道SIM卡的创新发展,涉及到移动运营商、芯片商、安全厂商、移动终端厂商等等,创新形式包括eSIM、softSIM、TEESIM以及从最近的2018MWC巴...

    安智客
  • 简书浏览量

    iOSDevLog
  • 原生JS实现呼吸轮播图

    越陌度阡
  • Markdown_01_基础语法

    原文地址:https://github.com/shirayner/java-knowledge-hierarchy/tree/master/doc/Markd...

    shirayner
  • 为了能公开百度的技术能力他毅然从“狼厂”辞职,还拿到了1600万美金

    八年的百度工作经历,让他亲眼见识到了百度的技术能力到底有多强,自己所拥有的能力又有多大。但认识越清晰,反而越让他陷入自我纠结的困扰中:“公司技术能力这么强,而我...

    数据猿
  • 祝贺西安电子科技大学腾讯创新俱乐部成立十周年

    前言 以“快乐创新,Q出未来”为口号,以“做优秀产品,办精品活动”为宗旨,西安电子科技大学腾讯创新俱乐部十岁了!在历任主席团成员及所有西电TICer们的共同努力...

    腾讯高校合作

扫码关注云+社区

领取腾讯云代金券