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

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

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);

效果如图所示:

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5564387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存