实现TextView改变部分字体颜色其实很简单 在用SpannableStringBuilder之前我们一直用多个textview来实现这种效果
现在看看代码 :
复制代码
1
2
3
4title = (TextView) findViewById(R.id.dia_title); spannable = new SpannableStringBuilder(context.getResources() .getString(R.string.telnotetitle));
复制代码
1
2
3
4spannable.setSpan(new ForegroundColorSpan(Color.RED), 7, 11, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//背景色 title.setText(spannable);
复制代码
1
复制代码
1这样我们可以把我们字符串4个文字改变成红色
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15复制代码下面看看SpannableStringBuilder的setSpan()方法spannable.setSpan(new ForegroundColorSpan(Color.RED),7,9,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); //前景色
复制代码new StrikethroughSpan() //设置删除线
复制代码new URLSpan("http://www.baidu.com")//http超链接
复制代码new URLSpan("tel:4155551212")//电话超链接
复制代码AbsoluteSizeSpan(int size) // 设置字体大小,参数是绝对数值,相当于Word中的字体大小 ScaleXSpan(float proportion) // 缩放字体,与上面的类似,默认为1,设置后就是原来的乘以proportion,大于1时放大(zoon in),小于时缩小(zoom out) StyleSpan(Typeface style) //字体风格,比如粗体,斜体 下面介绍一下Spannable的几个常量Spanned.SPAN_EXCLUSIVE_EXCLUSIVE --- 不包含两端start和end所在的端点 Spanned.SPAN_EXCLUSIVE_INCLUSIVE --- 不包含端start,但包含end所在的端点 Spanned.SPAN_INCLUSIVE_EXCLUSIVE --- 包含两端start,但不包含end所在的端点 Spanned.SPAN_INCLUSIVE_INCLUSIVE--- 包含两端start和end的端点
复制代码复制代码
最后
以上就是知性猎豹最近收集整理的关于Android Textview用 SpannableStringBuilder改变字体颜色的全部内容,更多相关Android内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复