Работа со строками - как я могу сделать "маленькие числа" в верхней части, как в реальных книгах - это возможно?
Извините, моего английского недостаточно, чтобы четко объяснить, чего я хочу, возможно, поэтому я не могу найти ответ в Google.
Когда вы используете настоящую книгу - иногда у вас есть какой-то текст, который нуждается в объяснении, и после этого текста у вас есть знак "*" и пояснение внизу страницы под строкой.
И иногда это не "*", это небольшое число вверху последнего слова. Например, "1", "2" и т. Д., И то же объяснение внизу страницы под строкой.
Что мне нужно знать - есть ли в java/Android SDK какой-либо инструмент, чтобы эти цифры были маленькими и находились на вершине в TextView?
Например, Spanned Strings может это сделать?
4 ответа
Самый простой способ произвести такой Spanned
это с помощью служебного класса Html:
textView.setText(Html.fromHtml("book<sup>1</sup>"));
Вы можете использовать SubscriptSpan или SuperscriptSpan внутри SpannableString.
Протестированная демоверсия
public class MainActivity extends Activity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
textView.setText(Html.fromHtml("Hi this demo test for book reading effect <sup>2</sup>"));
}
}
Выход:
Вы можете достичь этого 2 пути.
1) Использование SuperscriptSpan:
SpannableString span = new SpannableString("book1");
span.setSpan(new SuperscriptSpan(), 4, 5,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(span, BufferType.SPANNABLE);
2) Использование Html:
txt.setText(Html.fromHtml("book<sup>1</sup>"));