Проблемы с многострочными текстами кнопок, игнорирующими поля кнопок - PullRequest
0 голосов
/ 01 апреля 2020

В основном у меня есть кнопка с довольно длинной строкой, которая вызывает разрыв строки. Кнопки имеют поля слева и справа, которые, однако, игнорируются такими многострочными текстами кнопок, поскольку кнопка занимает всю ширину родительского элемента.

Очевидным решением является установка ширины макета равной 0dp, что, тем не менее, вызывает stati c width означает, что для более короткого текста кнопки кнопка больше не переносится.

Есть ли хорошее решение, как сохранить wrap_content для ширины, но при этом не игнорировать поля?

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android">

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="32dp"
        android:layout_marginRight="32dp"
        android:text="@string/longstring"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />


</androidx.constraintlayout.widget.ConstraintLayout>

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Самое простое решение состоит в том, что вы должны использовать / n в вашей строке в кнопке, чтобы текст кнопки не расширялся
Например, «Это строка, тогда / n Она будет на следующей строке»

Таким образом, я думаю, ваша кнопка не будет игнорировать поля и отображать текст внутри

<Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="32dp"
        android:layout_marginRight="32dp"
        android:text="@string/longstring"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constrainedWidth="true" />


</androidx.constraintlayout.widget.ConstraintLayout>
0 голосов
/ 01 апреля 2020

Добавьте следующую строку в кнопку xml, чтобы кнопка учитывала поля

app:layout_constrainedWidth="true"

ВЫХОД

enter image description here

...