TextInputLayout
Как изменить цвет текста плавающей метки со ссылкой на новую версию, выпущенную Google?
Установка colorControlNormal
, colorControlActivated
, colorControlHighLight
в стилях не помогает.
Вот что у меня сейчас:
TextInputLayout
Как изменить цвет текста плавающей метки со ссылкой на новую версию, выпущенную Google?
Установка colorControlNormal
, colorControlActivated
, colorControlHighLight
в стилях не помогает.
Вот что у меня сейчас:
colorAccent
? Я изменил пользовательский стильcolorAccent
на черный, и линия все равно будет отражать то, что я имеюcolorControlNormal
в основном стиле.Ответы:
Попробуйте приведенный ниже код, он работает в нормальном состоянии
В папке стилей TextLabel Code
Установить на основную тему приложения, оно работает только выделить только состояние
Обновить:
Решение
Обновить:
Используете ли вы библиотеку компонентов материалов
Вы можете добавить строки ниже к вашей основной теме
или же вы хотите разные цвета в состоянии noraml и в активированном состоянии и с настройкой следуйте приведенному ниже коду
Добавьте строку ниже к вашей основной теме, иначе вы можете установить стиль для textinputlayout в вашем xml
источник
android.view.InflateException: Error inflating class TextView
android:theme
стиляTextInputLayout
приводит кInflateException
сбоям на ASUS Zenphones (и, возможно, других устройствах).ThemeOverlay.AppCompat.Light
помочь решить сбой на моем ASUS Zenphone (@friederbluemle)источник
android:textColorHint="@color/gray" //support 23.0.0
сделал мой цвет текста подсказки видимым (цвет текста подсказки был черным по умолчанию независимо от цвета текста подсказки, который я установил, и если фон черный, текст полностью скрытНайдя ответ, используйте
android.support.design:hintTextAppearance
атрибут, чтобы установить собственный внешний вид плавающей метки.Пример:
источник
Namespace 'android.support.design' not bound
. Какие-либо предложения?compile 'com.android.support:design:23.1.1'
в свой файл gradle приложенияВам не нужно использовать
android:theme="@style/TextInputLayoutTheme"
для изменения цвета плавающей метки, так как это повлияет на всю тему для маленького TextView, используемого в качестве метки. Вместо этого вы можете использоватьapp:hintTextAppearance="@style/TextInputLayout.HintText"
где:Дайте мне знать, если решение работает :-)
источник
С помощью библиотеки компонентов материалов вы можете настроить
TextInputLayout
цвет текста подсказки с помощью (для этого требуется версия 1.1.0).В макете:
app:hintTextColor
атрибут: цвет метки, когда она свернута и текстовое поле активноandroid:textColorHint
атрибут: цвет метки во всех других состояниях текстового поля (например, в состоянии покоя и отключен)Widget.MaterialComponents.TextInputLayout.*
:Селектор по умолчанию для
android:textColorHint
:источник
Итак, я нашел этот ответ очень полезным и спасибо всем людям, которые внесли свой вклад. Просто чтобы добавить что-то, хотя. Принятый ответ действительно является правильным ответом ... НО ... в моем случае я искал сообщение об ошибке под
EditText
виджетом,app:errorEnabled="true"
и эта единственная строка усложнила мою жизнь. кажется, что это переопределяет тему, которую я выбралandroid.support.design.widget.TextInputLayout
, у которой другой цвет текста, определенныйandroid:textColorPrimary
.В итоге я принял решение применить цвет текста непосредственно к
EditText
виджету. Мой код выглядит примерно так:styles.xml
И мой виджет:
Теперь он отображает черный цвет текста вместо
textColorPrimary
белого.источник
Я предлагаю вам сделать тему стиля для TextInputLayout и изменить только акцентный цвет. Установите родителя для основной темы вашего приложения:
источник
В последней версии библиотеки поддержки (23.0.0+)
TextInputLayout
принимает следующий атрибут в XML для редактирования цвета плавающей метки:android:textColorHint="@color/white"
источник
Вместо ответа Брахмана Ямани я предпочитаю использовать Widget.Design.TextInputLayout в качестве родителя. Это гарантирует, что присутствуют все необходимые элементы, даже если не все элементы перезаписаны. В ответе Yamanis приложение будет аварийно завершать работу с неразрешимым ресурсом, если вызывается setErrorEnabled (true).
Просто измените стиль следующим образом:
источник
В моем случае я добавил это "
app:hintTextAppearance="@color/colorPrimaryDark"
в моем виджете TextInputLayout.источник
error: '#FFFFFF' is incompatible with attribute hintTextAppearance
Программно вы можете использовать:
Explaination:
Получить значение цвета int из цветового ресурса (способ представления цветов RGB, используемых Android). Я написал ColorEnabled, но на самом деле так и должно быть, для этого ответа ColorHintExpanded & ColorViewCollapsed. В любом случае это цвет, который вы увидите, когда подсказка представления «TextInputLayout» находится в расширенном или свернутом состоянии; вы установите его с помощью следующего массива в функции "setDefaultHintTextColor" представления. Ссылка: Ссылка на TextInputLayout - найдите на этой странице метод setDefaultHintTextColor для получения дополнительной информации.
Изучив документы выше, вы увидите, что функции устанавливают цвета для подсказки «Развернутый и свернутый» с помощью ColorStateList.
ColorStateList документы
Для создания ColorStateList я сначала создал матрицу с нужными мне состояниями, в моем случае state_enabled & state_disabled (чьи значения в TextInputLayout равны Hint Expanded и Hint Collased [Я не помню, в каком порядке lol, в любом случае я нашел его) просто делаю тест]). Затем я передаю конструктору ColorStateList массивы со значениями int цветовых ресурсов, эти цвета соответствуют матрице состояний (каждый элемент в массиве цветов соответствует соответствующему массиву в матрице состояний в той же позиции). Таким образом, первый элемент массива цветов будет использоваться как цвет для каждого состояния в первом массиве матрицы состояний (в нашем случае массив имеет только 1 элемент: enabled state = расширенное состояние подсказки для TextInputLayut). Состояния последних вещей имеют положительные / отрицательные значения, а у вас есть только положительные значения,
Надеюсь, это полезно. Пока приятного кодирования (:
источник
Чтобы изменить цвет подсказки и отредактировать цвет подчеркивания текста: colorControlActivation
Чтобы изменить цвет счетчика символов: textColorSecondary
Чтобы изменить цвет сообщения об ошибке: colorControlNormal
Чтобы изменить оттенок кнопки видимости пароля: colorForeground
Для получения дополнительной информации о TextInputLayout читайте http://www.zoftino.com/android-textinputlayout-tutorial
источник
Вы должны изменить свой цвет здесь
источник
Теперь просто пользуюсь
colorAccent
иcolorPrimary
будет отлично работать.источник
colorPrimary
в теме, чтобы установить подсказку и фокусированный цвет нижней строки. Хотя в этом ответе действительно должно было быть какое-то объяснение / код, чтобы продемонстрировать это в ответеЯ решаю проблему. Это макет :
Это стиль:
Вы должны использовать свою тему в приложении:
источник
изменить цвет текстовой метки, когда вы сосредоточены на нем. т.е. набрав в нем. Вы должны добавить указать
Просто примечание: вы должны добавить все эти реализации в вашу основную тему.
источник
Это работает для меня ..... добавить цвет подсказки в TextInputLayout
источник
Я пытался использовать android: textColorHint в android.support.design.widget.TextInputLayout, он работает нормально.
источник
добавьте это к стилям и установите TextInputLayout Theam в App2, и это будет работать;)
источник
RES / значения / styles.xml
источник
Можно использовать,
app:hintTextColor
если вы используетеcom.google.android.material.textfield.TextInputLayout
, попробуйте этоисточник
Попробуйте приведенный ниже код, он работает в нормальном состоянии
В папке стилей TextLabel Code
источник
Из документации:
Поэтому я
android:hint
иapp:hintTextColor
наTextInputLayout
, а не на ,TextInputEditText
и она работала.источник
Потому что вы должны добавить
colorControlNormal
,colorControlActivated
,colorControlHighLight
элементы к основной теме приложения:источник