gpt4 book ai didi

android - SpannableString:是否可以应用两个或多个RelativeSizeSpans?

转载 作者:IT王子 更新时间:2023-10-29 00:00:48 25 4
gpt4 key购买 nike

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

enter image description here

两个字符 (m, s) 应该比其他字符小。我试图将所有文本保存在一个 SpannableString 中,并且我还尝试通过 SpannableStringBuilder 连接两个 SpannableStrings。一个 Spannable 的代码如下所示:

spannable.setSpan(new RelativeSizeSpan(0.75f), spannable.length() - 1, spannable.length(), 0);

但是,只应用了一种格式 - 使用 SpannableStringBuilder 时,只有“m”更小,而当对整个文本使用一个 SpannableString 时,只有“s”更小。

调试还显示 Spannables 似乎只拥有一个 RelativeSizeSpan 实例,这意味着一种类型只能有一个 Span。这是真实的还是预期的行为?改为连接 TextView 是否可取?

编辑:顺便说一句,出于性能原因(许多 GC 调用),我试图在此处删除 HTML.fromHtml() 调用。

最佳答案

如果您仍在寻找答案,我可能有一个解决方案。我有类似的问题。我使用 TextUtils 来连接 2 个 SpannableString

下面是一些示例代码:

SpannableString span1 = new SpannableString("32m");
SpannableString span2 = new SpannableString("50s");

span1.setSpan(new RelativeSizeSpan(0.75f), 2, 3, 0);
span2.setSpan(new RelativeSizeSpan(0.75f), 2, 3, 0);

mTextView.setText(TextUtils.concat(span1," " ,span2));

关于android - SpannableString:是否可以应用两个或多个RelativeSizeSpans?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7851781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com