Spanned, Spannable介绍

前言

Android提供了Span架构 支持文本丰富的样式及排版实现,本文介绍的Spanned Spannable接口便是该架构的重要部分,接口支持了对字符串增加标记对象的能力,使Span架构能根据标记对象对字符串样式做额外支持。

UML图

Spanned.png
  • CharSequence java接口,定义一个可读字符序列,常用的 String, StringBuilder都实现来该接口。
  • Spanned android上扩展了CharSequence接口,表示可标记文本对象,主要定义getSpan*相关方法,主要实现类是SpannedString
  • Spannable 扩展了Spanned接口,增加了修改Span对象的方法,所以Spannable对象是可以修改内部文本的标记对象的,比如SpannableString类。
  • Editableandroid增加的表示可编辑文本的接口,继承于Spannable,所以它既可以编辑Span,又可以编辑文本,系统提供了SpannableStringBuilder实现类。

从上面可以看到不同的场景适用的Spanned对象是不同的,所以我们要根据具体现场选择合适的类适用。其中,SpannableStringSpannableStringBuilder的区别类似于StringStringBuilder,是否可以修改内部文本。另外,这些实现类都提供了static valueOf(CharSequence)方法方便的将一个CharSequence 对象转换为相应的Spanned对象.。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 早上儿子睡到自然醒,中午儿子想吃披萨,大热天的懒得做只好给儿子订上一个。儿子吃的可满足了。下午让儿子把他的卷...
    丽娜_550e阅读 221评论 2 2
  • 从《潘神的迷宫》认识的Tim Burton,带着他的又一部成人童话电影回归。依然是怪诞现实与奇幻想象的碰撞,依旧是...
    晨笑阅读 614评论 0 0
  • 想你的时候特别愿意照镜子,奇怪,总以为在自己的脸上能看到你的样子
    阿渊yilia阅读 127评论 0 0
  • 1 前天跟团队去漂流,漂流到中段,在最险峻之处,22米垂直落差的地方,几个皮肤黑黝的护漂员挡住了去路。有人半蹲在岸...
    曹门霞客行阅读 498评论 0 3
  • 金秋九月,基本在忙碌和紧张中度过。给她举办生日会,陪她参加拉丁舞全国赛。生日会上她骄傲的像个公主,今天她又...
    美丽玲珑阅读 2,669评论 0 1