как исправлена ​​«текстовая подсказка» в TextInputLayout? - PullRequest
1 голос
/ 25 марта 2019

Мне нужно использовать «errorValidation» и «подсказка» в TextInputLayout.Я хочу исправить подсказку в TextInputLayout, что он не идет на метку моего TextInputLayout.На самом деле, я хочу, чтобы сначала подсказка была в качестве метки.

Другими словами: я использую подсказку в качестве TextView для метки TextInputLayout, но проблема в слишком большом запасе !!!Как я могу справиться с этим?

прикрепленное изображение определяет, как я использую TextView для метки TextInputLayout.

enter image description here

код Iиспользуется:

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/tv_label_previous_password"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@id/toolbar_change_password"
    android:layout_marginTop="@dimen/spacing_5x"
    android:layout_marginStart="@dimen/spacing_3x"
    android:text="@string/label_previous_password"
    style="@style/TextHintYekanRegularHintColor16" />

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/til_previous_password"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constraintTop_toBottomOf="@id/tv_label_previous_password"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    android:layout_marginStart="@dimen/spacing_3x"
    android:layout_marginEnd="@dimen/spacing_3x"
    style="@style/TextInputLayoutAppearance" >

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/et_previous_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/TextYekanRegularColorPurpleOne16"
        android:inputType="textPassword" />

</com.google.android.material.textfield.TextInputLayout>

1 Ответ

1 голос
/ 28 марта 2019

Вы можете решить проблему маржи TextInputLayout с помощью двух приемов. Вы использовали один трюк, который использует обычный EditText вместо подсказки. Тогда вы должны установить

app:hintEnabled="false"

для удаления поля поверх вашего TextInputLayout.

Второй трюк заключается в том, что вы должны включить ошибку для TextInputLayout в своем фрагменте или операции вместо файла макета. Это удалит поле в нижней части TextInputLayout. И когда ошибка исчезнет, ​​вы должны отключить ошибку для TextInputLayout. Этот код поможет вам:

your_text_input_layout.isErrorEnabled = true // to enable the error
your_text_input_layout.isErrorEnabled = false // to disable the error
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...