Chcę stworzyć przycisk. Ten przycisk zawiera literę o rozmiarze 22 pikseli i kilka liter po prawej stronie o rozmiarze 16 pikseli.

Tak:
tu wpisz opis obrazu

Jak mogę to osiągnąć?

W tej chwili mam to:

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

    btn.setText(span);
}
9
Robby Smet 30 sierpień 2012, 13:27

2 odpowiedzi

Najlepsza odpowiedź

Możesz zastosować AbsoluteSizeSpan w swoim Spannable, aby utworzyć inny rozmiar tekstu w tej samej treści.

 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);
}
19
Mohammed Azharuddin Shaikh 30 sierpień 2012, 13:35

Zamiast robić to za pomocą kodu, możesz po prostu to osiągnąć, używając elementów html w zasobie ciągu. Na przykład:

Zdefiniuj zasób tekstowy:

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

I zastosuj go do tekstu przycisku:

android:text="@string/tmp"
7
waqaslam 30 sierpień 2012, 13:39