J'utilise le nouveau TextInputLayout
de la bibliothèque de design. Je suis capable de le montrer et de changer la couleur de l'étiquette flottante. Malheureusement, l' EditText
indice réel est maintenant toujours blanc.
J'ai essayé de changer le hintColor dans XML, les styles et le programme et j'ai également essayé d'utiliser le android.support.v7.widget.AppCompatEditText
mais le EditText
conseil montre toujours le blanc.
Voici mon XML pour mon TextInputLayout
etEditText
<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>
Et voici le style que j'utilise pour le TextInputLayout
(j'ai essayé de rendre l' hintTextColor
attribut noir mais je n'ai rien fait pour moi):
<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
<item name="android:textColor">@color/homestory_green</item>
</style>
android
android-edittext
android-support-library
android-design-library
android-textattributes
SamIAmHarris
la source
la source
Réponses:
Définissez
android:textColorHint
dans votre thème d'application:La source
la source
EditText
pour que la couleur de l'indice soit définie sur toutes les entrées de la vue ... je n'ai pas encore trouvé de solution à cela (requestFocus()
etperformClick()
ne faites pas l'affaire malheureusement).Créez un style personnalisé dans style.xml
Ensuite, dans votre fichier xml de mise en page, ajoutez l' attribut de thème comme ci-dessous
j'espère que cela fonctionne
la source
Ajouter la propriété textColorHint à votre texte d'édition
ou de la couleur de votre choix
la source
eu le même problème. Résolu en mettant ces lignes dans le thème parent .
Si vous mettez ces
dans un style distinct et appliquez-le à TextInputLayout ou Edittext, il n'apparaîtra pas. Vous DEVEZ le placer dans le thème parent de l'application.
la source
Je ne suis pas sûr de la cause de votre problème, ce code fonctionne parfaitement pour moi. Je pense que cela a quelque chose à voir avec l'utilisation du bon espace de noms xml (
xmlns
). Je ne sais pas si l'utilisation de android.support.design sans l'attribut d'espace de noms xml est prise en charge. Ou cela a quelque chose à voir avec l'textColorHint
attribut que vous utilisez sur le EditText lui-même.Disposition:
Style:
la source
@style/TextAppearance.Design.Hint
, vous voudrez peut-être l'utiliser comme votreparent
plutôt que@android:style/TextAppearance
ou@style/TextAppearance.AppCompat
Reportez-vous au code ci-dessous, cela a fonctionné pour moi, mais cela affectera la couleur de toutes vos commandes.
la source
Dans le TextInputLayout qui contient le EditText, ajoutez:
la source
Beaucoup de réponses mais il suffit d'une ligne pour cela:
android: textColorHint = "# 000000"
la source
android: textColorHint = "# FFFFFF" fonctionne parfois et parfois non. Pour moi, la solution ci-dessous fonctionne parfaitement
Essayez le code ci-dessous, cela fonctionne Dans votre fichier XML et le thème TextLabel est défini dans style.xml
Dans le dossier Styles Code TextLabel
Si vous souhaitez simplement changer la couleur de l'étiquette à l'état faux, colorAccent, colorControlNormal et colorControlActivated ne sont pas nécessaires
la source
Vous pouvez utiliser à l'
android:textColorHint="@color/color_black"
intérieurTextInputlayout
Cela a fonctionné pour moi.la source
Selon ceci: https://code.google.com/p/android/issues/detail?id=176559
Essaye ça:
Cela fonctionne dans 23.1.1
la source
Avec la bibliothèque de composants de matériau, vous pouvez personnaliser la
TextInputLayout
couleur du texte de l'indice en utilisant:Dans la mise en page:
app:hintTextColor
attribut: la couleur de l'étiquette lorsqu'elle est réduite et que le champ de texte est actifandroid:textColorHint
attribut: la couleur de l'étiquette dans tous les autres états de champ de texte (tels que repos et désactivé)Quelque chose comme:
la source
On dirait que la vue parente avait un style pour une bibliothèque tierce qui provoquait le blanc EditText.
Une fois que j'ai supprimé cela, tout a bien fonctionné.
la source
essayez ceci peut cela aider
la source
tard mais ça peut aider quelqu'un que j'ai fait comme ça
la source
changez votre couleur Accent à votre couleur désirée dans votre thème, cela changera votre ligne EditText, le curseur ainsi que votre indice
ou vous pouvez également inclure ce style dans votre style.xml
puis dans votre TextInputLayout, vous pouvez le mettre comme ceci
la source
Utilisez textColorHint pour définir la couleur souhaitée comme couleur d'indication pour EditText. Le fait est que Hint dans le EditText disparaît non pas lorsque vous tapez quelque chose, mais immédiatement lorsque le EditText obtient le focus (avec une animation sympa). Vous le remarquerez clairement lorsque vous changez de focus et sur EditText.
la source
De la documentation:
Essayez de régler
android:hint
etapp:hintTextColor
à laTextInputLayout
place de activéTextInputEditText
.la source
Vous devez définir la couleur de l'indice sur TextInputLayout.
la source
la source
Essayez le code ci-dessous:
La couleur haute lumière est le blanc:
style: TextStyle
la source
Voici mon expérience avec ce problème similaire et la solution requise.
Exigence:
TextInputEditText
(on peut dire que certains devraient être transparents et d'autres non, mais utiliser des couleurs personnalisées pour divers événements)Problème rencontré:
android:textColorHint
ne fonctionne pas comme requis.Solutions essayées, qui ont échoué:
android:textColorHint
avec style et appliqué àTextInputEditText
. Aucun résultat ni différence.android:textColorHint
dans le thème de l'application appliqué. Cela a aidé, mais il était maintenant défini pour toute l'application. (Pas à la hauteur des exigences)Après beaucoup de RnD, la meilleure SOLUTION trouvée était dans un article qui décrivait que nous devions appliquer le thème à
TextInputLayout
ou à sa vue parente plutôt que d'appliquer uniquement le style àTextInputEditText
ou à sa vue parente.S'il vous plaît vérifier TextInputLayout Theming approprié qui a dit que comment nous sommes sur la mauvaise voie.
la source
Lorsque j'ai essayé de définir l'attribut de thème sur TextInputLayout, le thème était également appliqué à sa vue enfant edittext, ce que je ne voulais pas.
La solution qui a fonctionné pour moi a donc été d'ajouter un style personnalisé à la propriété "app: hintTextAppearance" de TextInputLayout.
Dans styles.xml, ajoutez le style suivant:
Et appliquez ce style à la propriété "app: hintTextAppearance" de TextInputLayout comme ci-dessous:
la source
Si vous utilisez la nouvelle bibliothèque de conception de matériaux androidx,
com.google.android.material
vous pouvez utiliser colorstatelist pour contrôler la couleur du texte d'indication dans l'état focalisé, survolé et par défaut comme suit. (inspiré par ça )Dans
res/color/text_input_box_stroke.xml
quelque chose mis comme suit:Ensuite, dans votre
styles.xml
vous mettriez:Enfin, indiquez votre style dans le réel
TextInputLayout
Pour une raison quelconque, vous devez également définir laandroid:textColorHint
couleur du texte par défaut de l'indice:la source
si vous utilisez la bibliothèque de conception de matériaux. Actuellement, j'utilise la version
1 - Définissez la couleur lorsque TextInputLayout est au repos.
2 - Définissez la couleur lorsque TextInputLayout est flottant / focalisé / tapé.
3 - Définissez la couleur de la ligne sous TextInputLayout.
4 - Définissez la couleur de l'erreur sous TextInputLayout.
la source
Je voulais seulement changer la couleur de l'étiquette lorsqu'elle est remontée vers le haut. Mais le réglage
textColorHint
change la couleur à chaque état. Donc, cela a fonctionné pour moi:Cela changera la couleur lorsque l'entrée sera focalisée.
la source