J'utilise le nouveau TextInputLayout
de la bibliothèque de conception. J'arrive à l'afficher et à changer la couleur de l'étiquette flottante. Malheureusement, l'indication "EditText" est toujours blanche.
J'ai essayé de modifier la couleur de l'indication dans le XML, les styles et par programme, et j'ai également essayé d'utiliser la fonction android.support.v7.widget.AppCompatEditText
.
mais l'indice EditText
est toujours blanc.
Voici mon XML pour mon TextInputLayout
et mon 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>
Et voici le style que j'utilise pour le TextInputLayout
(j'ai essayé de rendre l'attribut hintTextColor
noir mais cela n'a rien donné pour moi) :
<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
<item name="android:textColor">@color/homestory_green</item>
</style>
Définissez android:textColorHint
dans le thème de votre application :
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:textColorHint">@color/secondary_text</item>
</style>
[Source][1]
[1] : https://code.google.com/p/android/issues/detail?id=176559#c1
Je ne suis pas sûr de la cause de votre problème car 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 suis pas sûr que l'utilisation de android.support.design sans l'attribut xml namespace soit supportée. Ou bien cela a quelque chose à voir avec l'attribut textColorHint
que vous utilisez sur l'EditText lui-même.
Mise en page :
<android.support.design.widget.TextInputLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
app:hintTextAppearance="@style/GreenTextInputLayout">
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="test"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
Style :
<style name="GreenTextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">#00FF00</item>
</style>
Il semble que la vue parent avait un style pour une bibliothèque tierce qui faisait que l'EditText était blanc.
android:theme="@style/com_mixpanel_android_SurveyActivityTheme"
Une fois que j'ai supprimé ce style, tout a fonctionné correctement.