Android中TextView实现分段显示不同颜色的字符串-创新互联
关于TextView
创新互联-专业网站定制、快速模板网站建设、高性价比佳木斯网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式佳木斯网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖佳木斯地区。费用合理售后完善,十多年实体公司更值得信赖。TextView是Android开发中最最常见的控件之一,在API记录的属性有很多,但实际开发中,也遇到很多有趣的需求,值得去尝试,所以记录下来,既可以给大家提供参考,同时自己需要时候也方便查找.
最近开发过程中有个小小的知识点,就是TextView显示的内容需要分段显示不同的颜色,如下图所示
一般有三种实现方式
- 直接根据不同的需要分段字符串,然后分别使用多个TextView来显示
- 使用spannablestring
- 使用Html
下面分别来简单介绍下三种方法
多个TextVew
- 这种方式简单粗暴,颜色样式控制灵活
- 如果需要显示的文本需要分多个段的话,那就需要很多个TextView,而且布局不好控制
- 实现方式简单,就不写例子了
使用SpannableString
想必用过的人都知道,比较好的一点是SpannableString可以精确控制一个长长的字符串中第几个到第几个字符的样式
SpannableString spannableString = new SpannableString("jakjfkajfjaj"); //设置颜色 spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FE6026")), 3, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置字体大小,true表示前面的字体大小20单位为dip spannableString.setSpan(new AbsoluteSizeSpan(20, true), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置链接 spannableString.setSpan(new URLSpan("www.baidu.com"), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置字体,BOLD为粗体 spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
分享文章:Android中TextView实现分段显示不同颜色的字符串-创新互联
路径分享:http://cdiso.cn/article/coisoo.html