У меня есть действие, в котором я хочу отобразить заголовок, который занимает верхнюю четверть приложения и отображает динамический набор текста. В некоторых случаях все это помещается на одной строке, и я бы хотел, чтобы размер шрифта увеличивался, чтобы он был большим и легким для чтения. В некоторых случаях он будет на нескольких строках (обычно меньше 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"
Я не уверен, как поступить с тем, чтобы TextView не пытался вставлять символы новой строки или просто занимался форматированием всего этого. Если я установлю некоторый текст как одно действительно длинное отдельное слово, он вставит новую строку в середине в некоторой выбранной точке. А иногда я просто случайно получаю последние несколько строк текста.
Должен ли я просто явно установить размер шрифта очень маленьким, чтобы правильно его расположить, а затем вручную отрегулировать размер? Есть ли «лучшая практика», которую я должен использовать для этого? Если бы я установил размер шрифта достаточно большим, это бы сработало, но было бы неплохо выяснить, каким будет «правильный» способ сделать это. И я бы предпочел не добавлять вручную 4 однострочных TextViews и форматировать их самостоятельно.
Используемый мной макет 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"
/>