как установить maxHeight на TextInputLayout - PullRequest
0 голосов
/ 04 декабря 2018

Я не хочу ограничивать количество строк, я хочу ограничить максимальную высоту TextInputLayout, чтобы, если она слишком длинная, она становилась вертикально прокручиваемой.

Я в порядке с решениями для кода.

В настоящее время атрибут maxHeight не влияет ни на TextInputLayout, ни на EditText.

Вот мой макет

<com.google.android.material.textfield.TextInputLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:hint="@string/address"
    android:paddingTop="@dimen/margin_8"
    android:paddingBottom="@dimen/margin_8">

    <com.mamamia.mamamiarestaurant.ui.MultiLineTextInputEditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:imeOptions="actionNext"
        android:inputType="text|textPostalAddress|textMultiLine"
        android:maxLength="@integer/address_max_length" />
</com.google.android.material.textfield.TextInputLayout>

И я включаю его в макет ограничения

<include
    android:id="@+id/text_input_layout_address"
    layout="@layout/view_text_input_layout_address"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constrainedHeight="true"
    app:layout_constraintHeight_max="200dp" />

layout_constraintHeight_max не имеет никакого эффекта.но layout_constrainedHeight при значении true верстает макет с фиксированной высотой (не той, которая указана layout_constraintHeight_max, а с фиксированной высотой редактирования текста по умолчанию)

1 Ответ

0 голосов
/ 04 декабря 2018

layout_constraintHeight_max не работает, если представление не имеет ограничений сверху или снизу, поэтому вы можете либо поставить android:maxHeight на InputEditText, либо настроить ограничения на TextInputLayout:

<include
        layout="@layout/view_text_input_layout_address"
        android:id="@+id/text_input_layout_address"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHeight_default="wrap"
        app:layout_constraintHeight_max="200dp" />

Возможно, вам нужен app:layout_constraintHeight_default="wrap", только если родитель имеет рост match_parent.

...