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

效果图:

方式一:

用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="只会玩战士回复冷云他大叔:啊哈哈哈或";tv.setTextSize(15);tv.setText(Html.fromHtml(str));

以下是个人公众号(longxuanzhigu),之后发布的文章会同步到该公众号,方便交流学习Android知识及分享个人爱好文章:

更多相关文章

  1. Android(安卓)特别好用的框架 二,Spinner(下拉框)的使用
  2. Android(安卓)RenderScript 使用 Struct 及其下标的赋值
  3. SparseArray 那些事儿(带给你更细致的分析)
  4. Android(安卓)-- SpannableString 实现富文本效果用法全解析
  5. Android监听ListView停止的时候是不是滑动到底部
  6. 跟Google学习Android开发-起始篇-支持不同的设备(1)
  7. 跟Google学习Android开发-起始篇-支持不同的设备(3)
  8. android中Button显示两行字体(spannable)
  9. Android点击WebView中的图片查看大图

随机推荐

  1. No command 'mmm' found
  2. android 背景圆角以及图片圆角处理
  3. 通过API级别进行文档内容过滤
  4. [Android学习]ImageView的scaletype属性
  5. Android布局图标中心化
  6. android IApplicationToken分析
  7. 11月29日
  8. Android中接口的使用及类使用
  9. Android 版本号和分支查看
  10. Android使用VideoView全屏播放视频拉伸变