Как узнать, какого цвета ошибка TextInputLayout в Android?

#android #android-textinputlayout

#Android #android-textinputlayout

Вопрос:

Я использую несколько Textinputlayouts в своем приложении. Как я могу узнать, какой цвет lf его ошибка? введите описание изображения здесь

Комментарии:

1. какого цвета? Есть много цветов, текста, штриха, подсказки, фона…..

Ответ №1:

Цвет ошибки по умолчанию зависит от colorError атрибута.
Текущее значение в светлой теме равно:

 <color name="design_default_color_error">#B00020</color>
  

Если вы хотите использовать его в другом атрибуте, вы можете скопировать это значение или использовать ?attr/colorError . Пример:

 <item name="strokeColor">?attr/colorError</item>
  

Если вы хотите получить программно это значение, вы можете использовать:

 MaterialColors.getColor(fab, R.attr.colorError)
  

Комментарии:

1. Спасибо. На самом деле я не хочу менять какой-либо цвет. Я хочу иметь цвет ошибки, чтобы использовать его в другом месте.

Ответ №2:

Цвет по умолчанию для ошибки компоновки — красный. Вы можете изменить его, если хотите. Вам просто нужно добавить строки в style.xml

 <style name="TextInputLayoutError" parent="@android:style/TextAppearance">
    <item name="android:textColor">your color</item>
    <item name="android:textSize">12sp</item>
</style>
  

Используйте тег below в своем теге TextInputLayout

 app:errorTextAppearance="@style/TextInputLayoutError">
  

Комментарии:

1. Это не совсем правильно. Цвет основан на colorError атрибуте и необязательно должен быть красным. Лучший способ изменить errorTextColor — это использовать errorTextColor атрибут в layout / style, и в любом случае таким образом вы не меняете цвет подсказки и цвет обводки.

2. Да, я согласен с вами, но, как правило, он красный, и мы не можем получить точный цветовой код, который использует TextInputLayout. Этот код предназначен только для изменения цвета текста для ошибки. Если вы хотите изменить другие свойства, вы можете добавить их в style .

3. Если вам нужен цвет текста ошибки в текущем состоянии, вы можете использовать getErrorCurrentTextColors

4. Спасибо. На самом деле я не хочу менять какой-либо цвет. Я хочу иметь цвет ошибки, чтобы использовать его в другом месте.