Android 中实现特殊符号㎡ 的显示 使用SpannableString类来实现

简介: Android 中实现特殊符号㎡ 的显示 使用SpannableString类来实现

前言:SpannableString的介绍

SpannableString,是CharSequence的一种,原本的CharSequence只是一串字符序列,没有任何样式,而SpannableString可以在字符序列基础上对指定的字符进行润饰,在开发中,TextView可以通过setText(CharSequence)传入SpannableString作为参数,来达到显示不同样式文字的效果。

实现代码如下,具体注释已经在代码中给出

SpannableString spannableString = new SpannableString("m2");
    //四个参数说明:
        //第一个参数:what:对SpannableString进行润色的各种Span
        //第二个参数:start 需要润色文字段开始的下标
        //第三个参数:end 需要润色文字段结束的下标
        //第四个参数:
        //flags:决定开始和结束下标是否包含的标志位,有四个参数可选
    //SPAN_INCLUSIVE_EXCLUSIVE:包括开始下标,但不包括结束下标
    //SPAN_EXCLUSIVE_INCLUSIVE:不包括开始下标,但包括结束下标
    //SPAN_INCLUSIVE_INCLUSIVE:既包括开始下标,又包括结束下标
    //SPAN_EXCLUSIVE_EXCLUSIVE:不包括开始下标,也不包括结束下标
        //RelativeSizeSpan缩放文本的比例 根据比例创建
        spannableString.setSpan(new RelativeSizeSpan(0.5F), 1, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //将文本基线的位置移高的跨度
        spannableString.setSpan(new SuperscriptSpan(), 1, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //内容和标记都可以更改的文本类
        SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder("10");
        spannableStringBuilder.append(spannableString);
        tv_text.setText(spannableStringBuilder);

效果如图所示:

有不妥之处可以在评论区指出哈~


目录
相关文章
|
4月前
Android.mk(makefile)中几个符号的区别:=、 :=、 ?=、 +=
本文解释了在Android.mk文件中使用的几种赋值符号的区别,包括`=`(基本赋值)、`:=`(覆盖赋值)、`?=`(条件赋值,仅在变量未赋值时操作)、`+=`(追加赋值),并通过实验演示了这些符号的具体行为和效果。
242 1
|
2月前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
38 1
|
1月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
60 0
|
2月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
27 2
|
7月前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
50 2
|
4月前
|
Java 测试技术 Android开发
Android项目架构设计问题之使用反射调用类的私有方法如何解决
Android项目架构设计问题之使用反射调用类的私有方法如何解决
46 0
|
6月前
|
安全 Android开发 Kotlin
Android面试题之Kotlin的几种常见的类
这篇文章探讨了Kotlin编程语言中的初始化顺序、延迟初始化、惰性初始化、`lateinit`与`by lazy`的区别、初始化注意事项、继承、嵌套类、数据类、单例类和枚举类的使用,以及密封类的概念。文中通过示例代码详细解释了各种特性,并提醒读者关注初始化顺序和线程安全问题。同时,鼓励读者关注作者的公众号“AntDream”获取更多相关文章。
48 1
|
7月前
|
XML Java Android开发
Android 分享机顶盒项目的封装类《GridView》(三)(转)
Android 分享机顶盒项目的封装类《GridView》(三)(转)
45 2
|
7月前
|
Java 开发工具 Android开发
如何访问 android系统hide的类或接口
如何访问 android系统hide的类或接口
303 1
|
7月前
|
XML Java Android开发
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
750 1