Я использую TextInputLayout с AppCompatEditText, имеющим собственный фон на основе формы xml для AppCompatEditText. Всякий раз, когда я устанавливаю какую-либо ошибку, строка ошибки начинается с начала макета. Есть ли способ добавить дополнение к этой строке ошибки.
Заполнение текста ошибки TextInputLayout
Ответы (3)
Вы можете ссылаться на ошибку TextView, используя:
TextView textView = (TextView) inputLayout.findViewById(android.support.design.R.id
.textinput_error);
Затем вы можете получить параметры макета для работы.
person
Boris Kozyrev
schedule
31.05.2017
рискованный взлом — это риск. в то же время, я не думаю, что id изменится в ближайшее время
- person Aba; 20.05.2018
Имейте в виду, что текстовое представление ошибки создается только при отображении ошибки, поэтому вам нужно изменить параметры после отображения ошибки в вашем TextInputLayout.
- person Almighty; 22.05.2019
Я изо всех сил пытался решить эту проблему, и это то, что сработало для меня:
Удаление заполнения родительского элемента моего текстового представления ошибки
Используя это решение, я смог найти текстовое представление ошибки (потому что мне нужно было добавить к нему значок), но не смог избавиться заполнения, поэтому после нескольких попыток я понял, что TextInputLayout имеет 2 дочерних элемента, поэтому удаление заполнения от второго дочернего элемента сделало свое дело, и просто чтобы быть уверенным, я удалил его также из первого
Используя расширения Kotlin, я нашел чистое решение
/**
* TextInputLayout
*/
fun TextInputLayout.removePadding() {
for (i in 0 until this.childCount) {
this.getChildAt(i).setPadding(0)
}
}
Вы можете сделать это и в java, используя ту же логику.
person
einschneidend
schedule
13.05.2021
person
schedule
для внутреннего EditText не используйте marginLeft и marginRight
- person Mallikarjuna; 05.03.2017
setError(null)
- person BST Kaal   schedule 21.01.2016