SpannableStringを次のように作成しようとしています。
2文字(m、s)は、残りの文字よりも小さくする必要があります。すべてのテキストを1つのSpannableStringに保持しようとしました。また、SpannableStringBuilderを介して2つのSpannableStringを連結しようとしました。1つのSpannableのコードは次のようになります。
spannable.setSpan(new RelativeSizeSpan(0.75f), spannable.length() - 1, spannable.length(), 0);
ただし、適用されるフォーマットは1つだけです。SpannableStringBuilderを使用する場合は「m」のみが小さくなり、テキスト全体に1つのSpannableStringを使用する場合は、「s」のみが小さくなります。
デバッグでは、SpannablesがRelativeSizeSpanのインスタンスを1つだけ保持しているように見えることも示されました。つまり、1つのタイプのSpanは1つしか存在できません。これは本当の、または予想される動作ですか?代わりにTextViewを連結することをお勧めしますか?
編集:ちなみに、パフォーマンス上の理由から、ここでHTML.fromHtml()呼び出しを削除しようとしています(多くのGC呼び出し)。