Я использую новый TextInputLayout
из библиотеки дизайна. Я могу заставить его показать и изменить цвет плавающей метки. К сожалению фактическийEditText
намек теперь всегда белый.
Я попытался изменить hintColor в XML, стилях и программно, а также попытался использовать, android.support.v7.widget.AppCompatEditText
но EditText
подсказка всегда показывает белый цвет.
Вот мой XML для моего TextInputLayout
иEditText
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android.support.design:hintTextAppearance="@style/GreenTextInputLayout">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/city"
android:textColorHint="@color/black"
android:hint="@string/city" />
</android.support.design.widget.TextInputLayout>
И вот стиль, который я использую для TextInputLayout
(я пытался сделать hintTextColor
атрибут черным, но ничего не сделал для меня):
<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
<item name="android:textColor">@color/homestory_green</item>
</style>
Ответы:
Определите
android:textColorHint
в своей теме приложения:Источник
источник
EditText
чтобы установить цвет подсказки для всех входов в представлении ... еще не нашел никакого исправления для этого (requestFocus()
иperformClick()
не делай трюк к сожалению).Создать собственный стиль в style.xml
Затем в свой файл макета XML добавьте атрибут темы, как показано ниже
надеюсь, что это работает
источник
Добавьте свойство textColorHint к вашему тексту редактирования
или какой цвет вы хотите
источник
получил ту же проблему. Решено, поместив эти строки в родительскую тему.
Если вы положите эти
в отдельном стиле и применить его к TextInputLayout или Edittext, он не появится. Вы ДОЛЖНЫ поместить его в родительской теме приложения.
источник
Я не уверен, что является причиной вашей проблемы, но этот код отлично работает для меня. Я думаю, что это как-то связано с использованием правильного пространства имен xml (
xmlns
). Я не уверен, что поддерживается использование android.support.design без атрибута пространства имен xml. Или это как-то связано сtextColorHint
атрибутом, который вы используете в самом EditText.Планировка:
Стиль:
источник
@style/TextAppearance.Design.Hint
, так что вы можете использовать его в качестве своего,parent
а не@android:style/TextAppearance
или@style/TextAppearance.AppCompat
Обратитесь к приведенному ниже коду, это сработало для меня. Но это повлияет на все ваши элементы управления цветом.
источник
В TextInputLayout, который содержит EditText, добавьте:
источник
Много ответов, но для этого нужна только строка:
андроид: textColorHint = "# 000000"
источник
android: textColorHint = "# FFFFFF" иногда работает, а иногда нет. Для меня ниже решение работает отлично
Попробуйте приведенный ниже код, он работает В вашем XML-файле и тема TextLabel определена в style.xml
В папке стилей TextLabel Code
Если вы просто хотите изменить цвет метки в ложном состоянии, то colorAccent, colorControlNormal и colorControlActivation не требуются
источник
Вы можете использовать
android:textColorHint="@color/color_black"
внутриTextInputlayout
Это сработало для меня.источник
Согласно этому: https://code.google.com/p/android/issues/detail?id=176559
Попробуй это:
Работает в 23.1.1
источник
С помощью библиотеки компонентов материалов вы можете настроить
TextInputLayout
цвет текста подсказки, используя:В макете:
app:hintTextColor
атрибут: цвет метки, когда она свернута и текстовое поле активноandroid:textColorHint
атрибут: цвет метки во всех других состояниях текстового поля (например, в состоянии покоя и отключен)Что-то вроде:
источник
Похоже, что родительское представление имело стиль для сторонней библиотеки, которая заставляла EditText быть белым.
Как только я удалил это все работало нормально.
источник
попробуйте это может помочь
источник
поздно, но это может помочь кому-то, что я сделал так
источник
измените ваш colorAccent на нужный вам цвет внутри вашей темы, это изменит вашу строку EditText, курсор и подсказку
или вы можете также включить этот стиль в ваш style.xml
тогда внутри вашего TextInputLayout вы можете поместить это так
источник
Используйте textColorHint, чтобы установить нужный цвет в качестве цвета подсказки для EditText. Дело в том, что подсказка в EditText исчезает не тогда, когда вы что-то печатаете, а сразу же, когда EditText получает фокус (с классной анимацией). Вы это четко заметите, когда переключите фокусировку на EditText.
источник
Из документации:
Попробуйте установить
android:hint
иapp:hintTextColor
включитьTextInputLayout
вместоTextInputEditText
.источник
Вы должны установить цвет подсказки для TextInputLayout.
источник
источник
Попробуйте код ниже:
Высокий светлый цвет белый:
Стиль: TextStyle
источник
Вот мой опыт с этой похожей проблемой и требуемое решение.
Требование:
TextInputEditText
(можно сказать, что некоторые должны быть прозрачными, а некоторые не должны, но использовать пользовательские цвета для различных событий)Проблема столкнулась:
android:textColorHint
не работает как требуется.Решения, которые не удалось:
android:textColorHint
в стиле и применяется кTextInputEditText
. Нет результатов или разницы.android:textColorHint
в приложении тему применено. Это помогло, но теперь оно было установлено для всего приложения. (Не соответствует требованиям)После большого количества RnD лучшее решение было найдено в статье, в которой говорилось, что нам нужно применять тему к
TextInputLayout
или к ее родительскому представлению, а не только применять стиль кTextInputEditText
или к его родительскому представлению.Пожалуйста, проверьте правильность темы TextInputLayout, в которой говорится, что мы на неправильном пути.
источник
Когда я попытался установить атрибут темы в TextInputLayout, тема также применялась к его тексту редактирования дочернего представления, который я не хотел.
Таким образом, решение, которое работало для меня, состояло в том, чтобы добавить собственный стиль к свойству "app: hintTextAppearance" TextInputLayout.
В styles.xml добавьте следующий стиль:
И примените этот стиль к свойству "app: hintTextAppearance" TextInputLayout, как показано ниже:
источник
Если вы используете новую библиотеку дизайна материалов androidx,
com.google.android.material
то вы можете использовать colorstatelist для управления цветом текста подсказки в сфокусированном, зависшем и состоянии по умолчанию следующим образом. (вдохновленный этим )В
res/color/text_input_box_stroke.xml
положить что-то вроде следующего:Тогда по вашему
styles.xml
вы положите:Наконец, укажите ваш стиль в фактическом.
TextInputLayout
По какой-то причине вам также нужно установитьandroid:textColorHint
для текста по умолчанию цвет подсказки:источник
если вы используете библиотеку дизайна материалов. В настоящее время я использую версию
1 - установить цвет, когда TextInputLayout отдыхает.
2 - Установите цвет, когда TextInputLayout является плавающим / сфокусированным / постукивающим.
3 - Установить цвет линии в TextInputLayout.
4 - установить цвет ошибки в TextInputLayout.
источник
Я хотел изменить цвет этикетки только тогда, когда она будет поднята вверх. Но настройка
textColorHint
меняет цвет в каждом штате. Итак, это сработало для меня:Это изменит цвет, когда ввод сфокусирован.
источник