9

我想创建一个按钮。此按钮包含一个大小为 22 像素的字母和一些位于其右侧的大小为 16 像素的字母。

像这样:
在此处输入图像描述

我怎样才能做到这一点?

目前我有这个:

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

    btn.setText(span);
}
4

2 回答 2

19

您可以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);
}
于 2012-08-30T09:35:14.413 回答
7

您可以简单地通过在字符串资源中使用html内容来实现它,而不是通过代码来实现。例如:

定义一个字符串资源:

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

并将其应用于按钮的文本:

android:text="@string/tmp"
于 2012-08-30T09:39:25.210 回答