同じテキストビューで複数の異なるサイズを設定する方法を疑問に思っている場合に備えて、相対サイズではなく絶対サイズを使用AbsoluteSizeSpan
すると、RelativeSizeSpan
.
目的のテキストサイズのピクセル単位の寸法を取得するだけです
int textSize1 = getResources().getDimensionPixelSize(R.dimen.text_size_1);
int textSize2 = getResources().getDimensionPixelSize(R.dimen.text_size_2);
AbsoluteSpan
次に、テキストに基づいて新しいものを作成します
String text1 = "Hi";
String text2 = "there";
SpannableString span1 = new SpannableString(text1);
span1.setSpan(new AbsoluteSizeSpan(textSize1), 0, text1.length(), SPAN_INCLUSIVE_INCLUSIVE);
SpannableString span2 = new SpannableString(text2);
span2.setSpan(new AbsoluteSizeSpan(textSize2), 0, text2.length(), SPAN_INCLUSIVE_INCLUSIVE);
// let's put both spans together with a separator and all
CharSequence finalText = TextUtils.concat(span1, " ", span2);