J'utilise la bibliothèque de conception Android TextinputLayout
. Mais ne pouvait pas personnaliser la couleur de l'indice, la couleur de l'étiquette et la couleur de soulignement de l' EditText
intérieur TextinputLayout
. Veuillez aider.
android
android-design-library
android-textinputlayout
Nitesh Verma
la source
la source
Réponses:
Changer la couleur de la ligne du bas:
Pour plus d'informations, consultez ce fil .
Changer la couleur de l'indice lorsqu'il flotte
et utilisez-le comme ceci:
Changez la couleur de l'indice lorsqu'il ne s'agit pas d'une étiquette flottante:
Merci à @AlbAtNf
la source
android:textColorHint
àTextInputLayout
en XML.Sur la base de Fedor Kazakov et d'autres réponses, j'ai créé une configuration par défaut.
styles.xml
activity_layout.xml
Concentré:
Sans focus:
Message d'erreur:
la source
Avec la bibliothèque de composants matériels, vous pouvez utiliser le
com.google.android.material.textfield.TextInputLayout
.Vous pouvez appliquer un style personnalisé pour modifier les couleurs.
Pour changer la couleur de l'indice, vous devez utiliser ces attributs:
hintTextColor
etandroid:textColorHint
.Vous devez utiliser un sélecteur pour le
android:textColorHint
. Quelque chose comme:Pour changer la couleur de la ligne de fond , vous devez utiliser l'attribut:
boxStrokeColor
.Dans ce cas également, vous devez utiliser un sélecteur. Quelque chose comme:
Vous pouvez également appliquer ces attributs dans votre mise en page:
la source
boxStrokeColor
. Dans l'exemple,selector_stroke_color
en particulier la dernière ligne:<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
Ajoutez cet attribut dans la balise Edittext et profitez de:
la source
Ce billet de blog décrit divers aspects de style
EditText
etAutoCompleteTextView
enveloppé parTextInputLayout
.Pour
EditText
et AppCompat lib 22.1.0+, vous pouvez définir l'attribut de thème avec certains paramètres liés au thème:et appliquez-les sur
EditText
:Car les
AutoCompleteTextView
choses sont plus compliquées car l'envelopperTextInputLayout
et appliquer ce thème rompt le comportement des étiquettes flottantes. Vous devez résoudre ce problème dans le code:et en
Activity.onCreate
:la source
Si vous souhaitez modifier la couleur de la barre / ligne et la couleur du texte de l'indice
TextInputLayout
(quelle est normalement la couleur d'accentuation), créez simplement ce style:Ensuite, appliquez-le à votre
TextInputLayout
comme thème :Cela définit essentiellement un thème (et non un style) sur une vue (par opposition à l'ensemble de l'activité).
la source
Vous pouvez remplacer ce style pour la mise en page
Et vous pouvez également modifier le style d'élément EditText interne.
la source
appliquer ce style à TextInputLayout
la source
android:theme="@style/EditScreenTextInputLayoutStyle"
A
TextinputLayout
n'est pas une vue, mais unLayout
, comme très joliment décrit par Dimitrios Tsigouris dans son article de blog ici . Par conséquent, vous n'avez pas besoin d'unStyle
, qui est pourViews
seulement, mais utilisez unTheme
. Suite au billet de blog, je me suis retrouvé avec la solution suivante:Commencez dans votre
styles.xml
avecEt dans votre mise en page ajoutez
la source