android富文本显示方案格式,富文本处理TextView显示富文本的三种方案

本文介绍了在Android开发中,TextView显示富文本的三种方法:1) 使用多个TextView;2) 通过SpannableString处理;3) 利用Html.fromHtml方法,并深入探讨了Html.fromHtml的原理及如何监听自定义标签和处理已有标签的自定义属性。重点讲述了自定义TagHandler以实现更灵活的富文本控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TextView显示富文本的三种方案

背景

​ 在做Android开发的时候,大家可能会经常遇到这种需求:一个textview控件上想展示一段声明,声明的大部分内容是正常的很色字体,书名号引用的各种文件条款,使用蓝色字体显示,类似如下效果图。

9d5c9bd07851d8c7e9413153b6be041e.png

​ 这类需求一般有三种实现方式

方式一:使用多个TextView来显示

​ 这是最为简单无脑的方法,但是很试用场景比较有限,当涉及到文字换行时,这种实现方式不方便处理了,这里就不给大家详细演示了。

方式二:SpannableString

​ 该方法的使用详情可以参考这篇文档 https://www.jianshu.com/p/472fd3e32324 这里也就不给大家详细介绍了,从这篇博文中也能看出SpannableString的局限了性。没错,SpannableString的优点在于控制得精细,缺点也是在这。我们使用SpannableString的时候必须指定样式使用的字符下标,那如果我们的字符串不是固定长度的呢?方式二就不太适用了。

方式三:使用Html.fromHtml

​ 方式三是今天主要讲解的一个方案,将要展示的文案写成html的格式,通过内置的Html类,使用fromHtml方法将html文本转换为可显示在textview的带有各种标记的文字。

​ 原理:html是xml语言,fromHtml方法中,使用sax方式对html的xml进行解析,在解析到能识别的标签时,根据不同的Spanned策略来标记文案

​ 简单的实现方式如下:

String content = "一段html风格的字符串";

textView.setText(Html.f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值