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

Posted 路宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

效果如图所示:

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

以上是关于Android 中实现特殊符号㎡ 的显示 使用SpannableString类来实现的主要内容,如果未能解决你的问题,请参考以下文章

Android中实现密码的隐藏和显示的示例

Android string.xml 显示特殊符号

如何在微信小程序中实现具有@功能的输入框

如何在微信小程序中实现具有@功能的输入框

如何在android中实现视图滑动

聊技术在Android中实现自适应文本大小显示