У меня есть Activity, в котором я хочу отобразить заголовок, занимающий верхнюю четверть приложения и отображающий динамический набор текста. В некоторых случаях все это умещается в одной строке, и я бы хотел, чтобы размер шрифта увеличился, чтобы он был большим и легко читаемым. В некоторых случаях он будет на нескольких строках (обычно меньше 4) и должен быть меньше.
Сложность заключается в том, что если я явно устанавливаю новые строки в setText, иногда он вставляет новую строку там, где я ее не ожидал. , то есть:
"My first line of text\nMy Second line of text" Might get turned into (it's right adjusted in this version): "My first line of text My second line of text"
I ' Я не знаю, как предотвратить попытки TextView вставлять символы новой строки или позволить ему просто позаботиться о форматировании всего этого. Если я сделаю какой-то текст одним действительно длинным словом, он вставит новую строку посередине в какой-то выбранный момент. А в других случаях я просто случайным образом получаю последние несколько строк текста.
Должен ли я просто явно установить размер шрифта очень маленьким, чтобы он отображался правильно, а затем вручную настроить размер? Есть ли «лучшая практика», которую я должен использовать для этого? Если я установил размер шрифта достаточно большим, это вроде бы сработает, но было бы неплохо выяснить, какой «правильный» способ сделать это. И я бы предпочел не добавлять вручную 4 однострочных TextView и форматировать их сам.
Я использую XML-макет:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginTop="10dip"
android:layout_marginRight="8dip"
android:singleLine="false"
android:ellipsize="marque"
android:gravity="right|bottom"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="30sp"
/>