Как я могу отображать несколько строк текста на кнопке
Моя кнопка layout_width установлена в match_parent.
Чтобы отображать несколько строк на кнопке, я попытался:
-
Вставить '\n' в текст на кнопке
-
set Singleline false set Maxlines to 2 or 3
-
конвертировать html из Html.fromHtml
Ничего не получилось. '\n' появился на маленьком квадрате на кнопке, показывая одну строку текста.
Есть ли у кого-нибудь идеи, почему это происходит и как я могу это исправить?
UPDATE: я только что узнал, что использовал пользовательскую кнопку, у которой есть собственный текстовый чертеж. Это причина. Извините за путаницу. Я просто наказал себя, ударив головой.
Ответы
Ответ 1
Если вы пытаетесь добавить новую строку в XML файл макета:
Используйте
(новая строка)
android:text="Hi Hello"
Если вы пытаетесь добавить новую строку в код, просто используйте "\n", как и в любом другом тексте.
Если вы не видите вторую строку, возможно, ваша кнопка не имеет достаточной высоты. IE, в моем случае макет, содержащий кнопку, имел фиксированную высоту, которая только что заставила мою кнопку отлично отображать одну строку текста.
Ответ 2
Я просто попробовал, и это сработало:
1) Определите в.. /res/values /strings.xml:
<string name="multilines">Line1Line1\nLine2Line2</string>
2) Обратитесь к нему в файле макета:
<Button
android:id="@+id/btn_multilines"
android:text="@string/multilines"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
</Button>
Ответ 3
Если вы хотите сделать это программно, вы можете использовать System.getProperty("line.separator")
в строке для изменения строк.
Вот так:
String mybuttontext=line1+System.getProperty("line.separator")+line2;
а затем установите эту строку как текст кнопок.