как отобразить несколько строк текста на кнопке
layout_width моей кнопки установлен в match_parent.
чтобы отобразить несколько строк на кнопке, я попытался:
вставить 'n ' в текст на кнопке
установить Singleline false установить Maxlines в 2 или 3
преобразование html из Html.fromHtml
ничего не получалось. "n " появился как маленький квадрат на кнопке, показывая одну строку текста.
тут кто-нибудь знает, почему это происходит и как я могу это исправить?
UPDATE: я только что узнал, что использую пользовательскую кнопку с собственным текстовым рисунком. Вот почему. Извините за беспорядок. Я просто наказал себя, ударившись головой.
3 ответов
Если вы пытаетесь добавить новую строку в XML-файл макета:
использовать
(новая строка)
android:text="Hi Hello"
Если вы пытаетесь добавить новую строку в коде, просто используйте '\n', как и в любом другом тексте.
Если вы не видите вторую строку, возможно, ваша кнопка не имеет достаточной высоты. Т. е. в моем случае макет, содержащий кнопку, имел фиксированную высоту, которая просто заставила мою кнопку отлично отображать одну строку текста.
Я просто попытался, и это сработало:
1) Определить ../ res / значения / строки.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>
Если вы хотите сделать это программно, вы можете использовать System.getProperty("line.separator")
в строке для изменения строк.
Вот так:
String mybuttontext=line1+System.getProperty("line.separator")+line2;
и затем установите эту строку в качестве текста кнопок.