Я использую библиотеку дизайна Android TextinputLayout
. Но не удалось настроить цвет подсказки, цвет метки и цвет подчеркивания EditText
внутри TextinputLayout
. Пожалуйста помоги.
android
android-design-library
android-textinputlayout
Нитеш Верма
источник
источник
Ответы:
Изменить цвет нижней строки:
Для получения дополнительной информации проверьте эту ветку .
Изменить цвет подсказки, когда она плавает
и используйте это так:
Измените цвет подсказки, если это не плавающая метка:
Спасибо @AlbAtNf
источник
android:textColorHint
значениеTextInputLayout
в XML.На основании ответов Федора Казакова и других я создал конфигурацию по умолчанию.
styles.xml
activity_layout.xml
Основное внимание:
Без фокуса:
Сообщение об ошибке:
источник
С библиотекой компонентов материала вы можете использовать расширение
com.google.android.material.textfield.TextInputLayout
.Вы можете применить собственный стиль, чтобы изменить цвета.
Чтобы изменить цвет подсказки, вы должны использовать следующие атрибуты:
hintTextColor
иandroid:textColorHint
.Вы должны использовать селектор для
android:textColorHint
. Что-то вроде:Для того, чтобы изменить нижний цвет линии вы должны использовать атрибут:
boxStrokeColor
.Также в этом случае следует использовать селектор. Что-то вроде:
Вы также можете применить эти атрибуты в своем макете:
источник
boxStrokeColor
. В этом примере,selector_stroke_color
в частности, последняя строка:<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
Добавьте этот атрибут в тег Edittext и наслаждайтесь:
источник
Это сообщение в блоге описывает различные аспекты моделирования
EditText
иAutoCompleteTextView
обернутоTextInputLayout
.Для
EditText
и AppCompat lib 22.1.0+ вы можете установить атрибут темы с некоторыми настройками, связанными с темой:и примените их
EditText
:Дело
AutoCompleteTextView
обстоит сложнее, потому что обертываниеTextInputLayout
и применение этой темы нарушает поведение плавающей метки. Вам нужно исправить это в коде:и в
Activity.onCreate
:источник
Если вы хотите изменить бар / цвет линии и цвет текста намека из
TextInputLayout
(что цвет акцента обычно есть), то просто создать этот стиль:Затем применить его к вашему
TextInputLayout
как тему :Это в основном устанавливает тему (а не стиль) для одного представления (в отличие от всего действия).
источник
Вы можете переопределить этот стиль для макета
А также вы можете изменить внутренний стиль EditText-элемента.
источник
применить этот стиль к TextInputLayout
источник
android:theme="@style/EditScreenTextInputLayoutStyle"
A
TextinputLayout
- это не представление, а aLayout
, как очень хорошо описывает Димитриос Цигурис в своем блоге здесь . Следовательно, вам не нуженStyle
, который предназначенViews
только для , но используйтеTheme
. После сообщения в блоге я пришел к следующему решению:Начало в вашей
styles.xml
сИ в вашем макете добавьте
источник