Rob*_*met 9 android text-formatting button
我想创建一个按钮.此按钮包含一个大小为22像素的字母和右侧的一些字母,大小为16像素.
像这样:

我怎样才能做到这一点?
目前我有这个:
private void setText(Button btn, String text, String underText) {
Spannable span = new SpannableString(text + "\n" + underText);
btn.setText(span);
}
Run Code Online (Sandbox Code Playgroud)
Moh*_*ikh 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);
}
Run Code Online (Sandbox Code Playgroud)
您可以通过在字符串资源中使用html来实现它,而不是通过代码完成它.例如:
定义字符串资源:
<string name="tmp"><font size="30">2</font>abc</string>
Run Code Online (Sandbox Code Playgroud)
并将其应用于按钮的文本:
android:text="@string/tmp"
Run Code Online (Sandbox Code Playgroud)