Изменение поведения подсказки TextInputLayout

Мне нужно изменить поведение TextInputLayout таким образом. По умолчанию, когда пользователь щелкает EditText внутри макета, подсказка покидает текстовое поле и идет выше. Мне нужно добиться следующего: когда пользователь нажимает на EditText, подсказка не реагирует. Он перемещается, когда пользователь начинает печатать, и возвращается, когда EditText пуст.

Я использовал пользовательскую библиотеку с вещью под названием FloatingEditText, но она неправильно работает с макетами RTL. Кто-нибудь знает, как добиться этого с помощью TextInputLayout или другим способом, хорошо работающим справа налево?

Заранее спасибо!


person Michał Powłoka    schedule 11.06.2018    source источник


Ответы (2)


Вы можете ввести имя, которое нужно ввести, в части «Метка» и подсказку в части «Индийская».

<android.support.design.widget.TextInputLayout
        android:id="@+id/text_input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Label">

        <EditText
            android:id="@+id/edit_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />

    </android.support.design.widget.TextInputLayout>
person fevziomurtekin    schedule 11.06.2018
comment
Привет, Омур, я добавил подсказку в TextInputLayout, но это совсем не помогло. Я также не понимаю, как предполагается, что подсказка не появится, пока пользователь не начнет печатать... - person Michał Powłoka; 12.06.2018

В библиотеке компонентов материалов вы можете использовать атрибут placeholderText:

    <com.google.android.material.textfield.TextInputLayout
        android:hint="Label"
        app:placeholderText="placeholder"

введите здесь описание изображения

Примечание. Для этого требуется версия не ниже 1.2.0.

person Gabriele Mariotti    schedule 16.08.2020