为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Android

先看效果,

5bb5cb120001fa7c03520658.jpg

下面是代码,有注释的,大家很容易看懂的

MainActivity中

TextView text1 = (TextView) findViewById(R.id.text1);
SpannableStringBuilder builder = new SpannableStringBuilder(text1.getText().toString());
//ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色
//设置前景色
ForegroundColorSpan redSpan = new ForegroundColorSpan(Color.RED);
ForegroundColorSpan yelloSpan = new ForegroundColorSpan(Color.YELLOW);
ForegroundColorSpan blueSpan = new ForegroundColorSpan(Color.BLUE);
ForegroundColorSpan greenSpan = new ForegroundColorSpan(Color.GREEN);
//第一个参数 设置用什么笔 第二个第三个参数,设置开始结束位置 开始结束的模式,有四种
/**
 * Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前后都不包括,即在指定范围的前面和后面插入新字符都不会应用新样式
 * Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。即仅在范围字符的后面插入新字符时会应用新样式
 * Spannable.SPAN_INCLUSIVE_EXCLUSIVE :前面包括,后面不包括。
 * Spannable.SPAN_INCLUSIVE_INCLUSIVE :前后都包括。
 */
builder.setSpan(redSpan, 0, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(yelloSpan, 9, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(greenSpan, 16, 25, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(blueSpan, 26, 33, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置背景色  参数一样的
BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.parseColor("#88888888"));
builder.setSpan(backgroundColorSpan, 0, 34, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text1.setText(builder);

布局文件中

<TextView
    android:textSize="25sp"
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:text="如果我們不曾相遇,你又會在哪裡,如果我們從不曾相識,人間又如何運行。"
    android:layout_height="wrap_content"/>

就可以啦5bb5cb12000131ad00200020.jpg

原文链接:http://www.apkbus.com/blog-843025-61810.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消