SpannableString实现TextView多文字颜色显示
来源:互联网 发布:seo设置是什么意思 编辑:程序博客网 时间:2024/06/09 06:03
我们在开发过程中有时候需要在同一个TextView中显示多种文字颜色,比较常见的比如:回复XX评论,@XXX等。
这种实现我们可以结合SpannableString来选取TextView的某一段字符显示不同的颜色:
/** * 文本变色处理 * * @param desc * @param commentUserNickname */ private SpannableString setColor(String desc, String commentUserNickname) { SpannableString spanText = new SpannableString(desc); Parcel p = Parcel.obtain(); p.writeInt(ctx.getResources().getColor(R.color.color_chat_blue_bg)); p.setDataPosition(0); ForegroundColorSpan fcs = new ForegroundColorSpan(p); spanText.setSpan(fcs, 0, commentUserNickname.length() + 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE); return spanText; }
主要介绍一下setSpan()方法的四个参数的含义:
/** * @param what SpannableString不仅仅可以设置字体颜色还有背景色,字体大小等许多功能,此处列举相对常用的 * 如BackgroundColorSpan 背景色 * ForegroundColorSpan 文本颜色(前景色)场景:回复评论 * StrikethroughSpan 删除线(中划线) 场景:物品打折降价 * UnderlineSpan 下划线 * AbsoluteSizeSpan 绝对大小(文本字体) * DynamicDrawableSpan 设置图片,基于文本基线或底部对齐 * StyleSpan 字体样式:粗体、斜体等 * TypefaceSpan 文本字体 * URLSpan 文本超链接 * @param start 开始设置字符串的起始索引 * @param end 设置字符串的结束索引 * @param flags 有四个取值 * Spannable.SPAN_EXCLUSIVE_EXCLUSIVE :前后都不包括,(a,b) * Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。(a,b] * Spannable.SPAN_INCLUSIVE_EXCLUSIVE :前面包括,后面不包括。[a,b) * Spannable.SPAN_INCLUSIVE_INCLUSIVE :前后都包括。[a,b] */ public void setSpan(Object what, int start, int end, int flags) { }
此处主要使用了变色的知识,其他功能和此类似只需改变what参数的对象即可。
1 0
- SpannableString实现TextView多文字颜色显示
- SpannableString--textview显示不同的颜色、样式
- Android TextView中文字通过SpannableString来设置超链接、颜色、
- Android通过SpannableString实现超级链接 点击textview某些文字跳转
- SpannableString和TextAppearanceSpan实现一个textView两种颜色
- TextView上面显示不同文字和颜色
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- 善用设计模式(一)单例模式
- 清理Xcode文件,找回 Macbook 的 SSD 硬盘空间
- C++第四次作业(利用循环求和,求和,富翁穷人)
- GBrowse2.0中将GFF3数据转存到MySQL中
- 使用esapi报错解决方法
- SpannableString实现TextView多文字颜色显示
- B1001.害死人不偿命的(3n+1)猜想
- Qt程序打包发布方法(使用官方提供的windeployqt工具)
- git 的 安装和使用
- ES6新特性简介
- Ubuntu Eclipse经常挂掉问题
- 封装的截取高清图的demo~
- 传统盒模型和css3盒模型对比
- MySQL 技术内幕 读书笔记(一)