我正在尝试构造一个SpannableString,使它看起来像这样:

两个字符(m,s)应小于其余字符.我试图在一个SpannableString中保存所有文本,并且我还尝试通过SpannableStringBuilder连接两个SpannableStrings.一个Spannable的代码如下所示:
spannable.setSpan(new RelativeSizeSpan(0.75f), spannable.length() - 1, spannable.length(), 0);
Run Code Online (Sandbox Code Playgroud)
但是,只应用了一种格式 - 使用SpannableStringBuilder时,只有"m"更小,而对整个文本使用一个SpannableString时,只有"s"更小.
调试还显示Spannables似乎只包含一个RelativeSizeSpan实例,这意味着一个类型只能有一个Span.这是真实的还是预期的行为?是否建议连接TextViews?
编辑:顺便说一下,我试图在这里删除HTML.fromHtml()调用性能原因(许多GC调用).
我有以下内容:
textView.setText(Html.fromHtml("<font color=\"red\" size=\"24\">Hello</font>"));
Run Code Online (Sandbox Code Playgroud)
字符串'Hello'确实变为红色,但大小不会改变.
好像只是忽略了size属性,有人知道为什么会这样吗?难道我做错了什么?