Различные тексты в кнопке

Я хочу создать кнопку. Эта кнопка содержит букву размером 22 пикселя и несколько букв справа от нее размером 16 пикселей.

Как это:
Введите описание изображения здесь

Как я могу это достичь?

На данный момент у меня есть это:

private void setText(Button btn, String text, String underText) { Spannable span = new SpannableString(text + "\n" + underText); btn.setText(span); } 

Solutions Collecting From Web of "Различные тексты в кнопке"

Вы можете применить AbsoluteSizeSpan в своем Spannable, чтобы сделать другой размер текста в том же содержимом.

  private void setText(Button btn, String text, String underText) { Spannable span = new SpannableString(text + "\n" + underText); span.setSpan(new AbsoluteSizeSpan(fontSize), startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); btn.setText(span); } 

Вместо того, чтобы делать это с помощью кода, вы можете просто достичь этого, используя материал html в строчном ресурсе . Например:

Определите строковый ресурс:

 <string name="tmp"><font size="30">2</font>abc</string> 

И примените его к тексту вашей кнопки:

 android:text="@string/tmp"