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

Android之SpannableString使用

文章目录

  • 前言
  • 一、效果图
  • 二、实现代码
  • 总结


前言

在开发中,往往有些需求是我们不愿意遇到的,但是也不得不处理的事情,比如一段文案,需要文案中某些文字变颜色或者点击跳转,所以简单写了几句代码实现,没什么难度,所以我就直接贴代码了!


一、效果图

在这里插入图片描述

二、实现代码

  var str ="歡迎您使用Bitcat!我們非常重視您的個人信息和隱私保護。為了更好的保障您的個人權益,在您使用我們的產品前,請認真閱讀《Bitcat雲算力服務協定》和《隱私條款》的全部內容。【應用信息】Bitcat是全球領先的礦機分時共享平臺,為用戶提供一整套的雲挖礦服務解決方案,打包管理了礦機購買,物流運輸,電力管理,礦場運維等復雜流程,用戶只需一鍵下單即可享受服務。為提供上述服務,本應用使用過程中,需要調用您的設備的以下權限:網絡,電話,設不同意,請您立刻停止使用Bitcat."var spannableString = SpannableString(str)//点击spannableString.setSpan(object : ClickableSpan() {override fun onClick(widget: View) {}override fun updateDrawState(ds: TextPaint) {super.updateDrawState(ds)ds.color = Color.parseColor("#FCBD24")//取消默认的下划线ds.isUnderlineText = false}}, 60, 75, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)//第一个参数,起始位置,第二个参数截止为止//点击spannableString.setSpan(object : ClickableSpan() {override fun onClick(widget: View) {}override fun updateDrawState(ds: TextPaint) {super.updateDrawState(ds)ds.color = Color.parseColor("#FCBD24")//取消默认的下划线ds.isUnderlineText = false}}, 76, 82, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)//然后把spannableString放进到Text中text_nr.text = spannableString
//        text_nr.text =
//            "歡迎您使用Bitcat!我們非常重視您的個人信息和隱私保護。為了更好的保障您的個人權益,在您使用我們的產品前,請認真閱讀" + spannableString + "和" + spannableString1 + "的全部內容。【應用信息】Bitcat是全球領先的礦機分時共享平臺,為用戶提供一整套的雲挖礦服務解決方案,打包管理了礦機購買,物流運輸,電力管理,礦場運維等復雜流程,用戶只需一鍵下單即可享受服務。為提供上述服務,本應用使用過程中,需要調用您的設備的以下權限:網絡,電話,設不同意,請您立刻停止使用Bitcat."//中途遇到点击后字体显示高亮,取消高亮text_nr.highlightColor = Color.parseColor("#00000000")//最后设置可点击,必须实现,否则只能显示样式,无法实现点击效果text_nr.movementMethod = LinkMovementMethod.getInstance()

总结

截取字符串的方法有很多种,我就用了最简单的,这个不强求看自己!

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

相关文章:

  • 【Python】Python求均值、中值和众数
  • NPM 常用命令(十二)
  • 数据在内存中的存储(2)
  • 软件工程与计算总结(十三)详细设计中的模块化与信息隐藏
  • RF学习——器件的非线性失真分析
  • SUB-1G SOC芯片DP4306F 32 位 ARM Cortex-M0+内核替代CMT2380F32
  • 接收请求地址下载并输出文件流实现
  • 【iOS】——用单例类封装网络请求
  • 再学Blazor——概述
  • Ceph运维笔记
  • RTSP协议
  • Maven系列第6篇:生命周期和插件详解?
  • 【通义千问】大模型Qwen GitHub开源工程学习笔记(4)-- 模型的量化与离线部署
  • 2022最新版-李宏毅机器学习深度学习课程-P23 为什么用了验证集结果还是过拟合
  • Spring Cloud Alibaba—Sentinel 控制台安装
  • 基于动物迁徙优化的BP神经网络(分类应用) - 附代码
  • 一键搞定!黑群晖虚拟机+内网穿透实现校园公网访问攻略!
  • 【C语言】——通讯录(静态-动态增长-文件储存)
  • win10安装nginx及简单使用(命令)
  • 【农业生产系统模型】基于R语言APSIM模型进阶应用与参数优化、批量模拟实践技术
  • 金融数学方法:梯度下降法
  • 1031 查验身份证
  • 如何共享 Android 不同模块的构建配置
  • atlas运维中遇到的问题
  • 06-React的路由
  • 虹科方案 | 加州理工学院利用HK-TrueNAS开展地震研究
  • 宝塔面板部署express以及MySql项目
  • 联盟链学习笔记-网络的创建
  • System.Drawing.Common.Bitmap跨平台的替代方案
  • 深入理解 Java 泛型