当前位置: 首页 > news >正文

Android之实现两段颜色样式不同的文字拼接进行富文本方式的显示

一、使用SpannableString进行拼接

1、显示例子

前面文字显示红色,后面显示白色,显示在一个TextView中,可以自动换行

发送人姓名: 发送信息内容

2、TextView

<TextViewandroid:id="@+id/tv_msg"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:textColor="@color/red"android:textSize="14sp"tools:text=""/>

3、拼接

TextView tv_msg = findViewById(R.id.tv_msg);String s1 = "发送人姓名";
String s2 = "发送信息内容";String msg = s1 + ": " + s2;
int name_length = s1.length();
int all_msg_length = msg.length();SpannableString spannableString = new SpannableString(msg);
// 应用不同的颜色到文本的对应部分
//“发送人姓名: ”部分文字显示为红色
int color1 = ContextCompat.getColor(context, R.color.red);
ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(color1);
spannableString.setSpan(colorSpan1, 0, name_length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//"发送信息内容"部分文字显示白色
int color2 = ContextCompat.getColor(context, R.color.white);
ForegroundColorSpan colorSpan2 = new ForegroundColorSpan(color2);
spannableString.setSpan(colorSpan2, name_length + 2, all_msg_length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//将spannableString赋值给TextView中即可
tv_msg.setText(spannableString);

二、持续更新中…

http://www.lryc.cn/news/373872.html

相关文章:

  • GenICam标准(五)
  • 《人生海海》读后感
  • SpringBoot自定义Starter及原理分析
  • YOLOv10网络架构及特点
  • 基于单片机的多功能智能小车设计
  • Python时间序列分析库
  • 算法设计与分析 实验1 算法性能分析
  • FPGA NET
  • 把服务器上的镜像传到到公司内部私有harbor上,提高下载速度
  • 1055 集体照(测试点3, 4, 5)
  • AI 定位!GeoSpyAI上传一张图片分析具体位置 不可思议! ! !
  • 中国最著名的起名大师颜廷利:父亲节与之相关的真实含义
  • 【每日刷题】Day66
  • 工资信息管理系统的设计
  • Docker 镜像****后,如何给Ubuntu手动安装 docker 服务
  • 数组模拟单链表和双链表
  • 【图解IO与Netty系列】Netty源码解析——服务端启动
  • Python酷库之旅-比翼双飞情侣库(10)
  • 2024年全国青少信息素养大赛python编程复赛集训第二天编程题分享
  • Java | Leetcode Java题解之第151题反转字符串中的单词
  • web前端教程全套:从入门到精通的全方位探索
  • 什么是端口转发?路由器如何正确的设置端口转发和范围转发?(外网访问必备设置)
  • 【AI基础】第六步:纯天然保姆喂饭级-安装并运行qwen2-7b
  • 基于粒子群优化算法的的微电网多目标优化调度----算法改进
  • 计算机网络 —— 网络层 (路由协议)
  • HCIA 15 AC+FIT AP结构WLAN基础网络
  • 给Windows软件添加异常捕获模块生成dump文件(附源码)
  • C语言| 数组
  • upload-labs第八关教程
  • 平板消解加热台-温度均匀,防腐蚀-实验室化学分析