Подтвердить что ты не робот

Как я могу отображать несколько строк текста на кнопке

Моя кнопка layout_width установлена ​​в match_parent.

Чтобы отображать несколько строк на кнопке, я попытался:

  • Вставить '\n' в текст на кнопке

  • set Singleline false set Maxlines to 2 or 3

  • конвертировать html из Html.fromHtml

Ничего не получилось. '\n' появился на маленьком квадрате на кнопке, показывая одну строку текста.

Есть ли у кого-нибудь идеи, почему это происходит и как я могу это исправить?

UPDATE: я только что узнал, что использовал пользовательскую кнопку, у которой есть собственный текстовый чертеж. Это причина. Извините за путаницу. Я просто наказал себя, ударив головой.

4b9b3361

Ответ 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;

а затем установите эту строку как текст кнопок.