Cambiar color de sugerencia de EditText cuando se utiliza TextInputLayout

Estoy utilizando el nuevo TextInputLayout de la biblioteca de diseño. Puedo conseguirlo demostrar y cambiar el color de la etiqueta flotante. Desafortunadamente la sugerencia actual de EditText ahora es siempre blanca.

He intentado cambiar el hintColor en XML, estilos, y programmatically y también intentado usar el android.support.v7.widget.AppCompatEditText pero la indirecta de EditText siempre muestra blanco.

Aquí está mi XML para mi TextInputLayout y 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> 

Y aquí está el estilo que estoy usando para el TextInputLayout (intenté hacer el atributo hintTextColor negro pero no hice nada para mí):

 <style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat"> <item name="android:textColor">@color/homestory_green</item> </style> 

Definir android:textColorHint en el tema de la aplicación:

 <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> 

Fuente

Crear estilo personalizado en style.xml

 <style name="EditTextHint" parent="TextAppearance.AppCompat"> <item name="colorAccent">@android:color/white</item> <item name="android:textColorHint">@color/BackgroundtWhiteColor</item> <item name="colorControlNormal">@color/BackgroundtWhiteColor</item> <item name="colorControlActivated">@color/your color</item> <item name="colorControlHighlight">@color/BackgroundtWhiteColor</item> </style> 

A continuación, en el archivo xml de diseño, agregue el atributo de tema como a continuación

  <android.support.design.widget.TextInputLayout android:theme="@style/EditTextHint" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content"/> </android.support.design.widget.TextInputLayout> 

Espero que esto funcione

Tiene el mismo problema. Se resuelve poniendo estas líneas en el tema principal .

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/ColorPrimaryDark</item> <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> <item name="colorAccent">@color/AccentColor</item> <item name="android:windowTranslucentStatus">true</item> <item name="android:textColorHint">@color/BackgroundtWhiteColor</item> <item name="colorControlNormal">@color/BackgroundtWhiteColor</item> <item name="colorControlActivated">#ff0000</item> <item name="colorControlHighlight">@color/BackgroundtWhiteColor</item> <!-- Customize your theme here. --> </style> 

Si usted pone estos

 <item name="android:textColorHint">@color/BackgroundtWhiteColor</item> <item name="colorControlNormal">@color/BackgroundtWhiteColor</item> <item name="colorControlActivated">#ff0000</item> <item name="colorControlHighlight">@color/BackgroundtWhiteColor</item> 

En un estilo separado y aplicarlo a TextInputLayout o Edittext no aparecerá. Tienes que colocarlo en el tema principal de la aplicación.

Agregar propiedad textColorHint a su texto de edición

 android:textColorHint="#F6F6F6" 

O el color que quieras

No estoy seguro de lo que hace que su problema de poner este código funciona perfectamente para mí. Creo que tiene algo que ver con el uso del xml namespace correcto ( xmlns ). No estoy seguro si el uso de android.support.design sin el atributo de espacio de nombres xml es compatible. O tiene algo que ver con el atributo textColorHint que está utilizando en el propio EditText.

Diseño:

 <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> 

Estilo:

 <style name="GreenTextInputLayout" parent="@android:style/TextAppearance"> <item name="android:textColor">#00FF00</item> </style> 

Refiera el código abajo trabajó para mí. Pero afectará a todos sus controles color.

  <!-- In your style.xml file --> <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <!--EditText hint color--> <item name="android:textColorHint">@color/default_app_white</item> <!-- TextInputLayout text color--> <item name="colorControlActivated">@color/default_app_green</item> <!-- EditText line color when EditText on-focus--> <item name="colorControlHighlight">@color/default_app_green</item> <!-- EditText line color when EditText in un-focus--> <item name="colorControlNormal">@color/default_app_white</item> </style> 

En el TextInputLayout que contiene el EditText, agregue:

 android:textColorHint="someColor" 

Android: textColorHint = "# FFFFFF" alguna vez funciona y alguna vez no. Para mí abajo la solución funciona perfectamente

Intente el código abajo trabaja en su archivo de XML y el tema de TextLabel se define en style.xml

  <android.support.design.widget.TextInputLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:theme="@style/MyTextLabel"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Floating Label" android:id="@+id/edtText"/> </android.support.design.widget.TextInputLayout> 

En la carpeta Styles TextLabel Code

  <style name="MyTextLabel" parent="TextAppearance.AppCompat"> <!-- Hint color and label color in FALSE state --> <item name="android:textColorHint">@color/Color Name</item> <!--The size of the text appear on label in false state --> <item name="android:textSize">20sp</item> <!-- Label color in TRUE state and bar color FALSE and TRUE State --> <item name="colorAccent">@color/Color Name</item> <item name="colorControlNormal">@color/Color Name</item> <item name="colorControlActivated">@color/Color Name</item> </style> 

Si sólo desea cambiar el color de la etiqueta en estado falso entonces colorAccent, colorControlNormal y colorControlActivated no son necesarios

De acuerdo con esto: https://code.google.com/p/android/issues/detail?id=176559

Prueba esto:

 <android.support.design.widget.TextInputLayout android:textColorHint="#A7B7C2" android:layout_width="match_parent" android:layout_height="50dp"> <EditText android:id="@+id/et_confirm_password" android:textColor="@android:color/black" android:hint="Confirm password" android:inputType="textPassword" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.design.widget.TextInputLayout> 

Funciona en 23.1.1

Probar esto puede ayudar

  edittext.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "onTextChanged", 2000).show();; //newuser.setTextColor(Color.RED); edittext.setHintTextColor(Color.RED); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "afterTextChanged", 2000).show();; } }); 

Muchas respuestas, pero sólo necesita una línea para esto:

Android: textColorHint = "# 000000"

  <EditText android:id="@+id/edtEmail" android:textColorHint="#000000" android:layout_width="match_parent" android:layout_height="wrap_content"/> 

Parece que la vista padre tenía un estilo para una biblioteca de terceros que estaba haciendo que el EditText fuera blanco.

 android:theme="@style/com_mixpanel_android_SurveyActivityTheme" 

Una vez que me quitó todo funcionó bien.

  <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Name" android:textColor="@color/black" android:textColorHint="@color/grey"/> </android.support.design.widget.TextInputLayout> 

Utilice textColorHint para establecer el color que desea como el color Sugerencia para el EditText. La cosa es que la indirecta en el EditText desaparece no cuando usted mecanografía algo, pero inmediatamente cuando el EditText consigue el foco (con una animación fresca). Usted notará esto claramente cuando cambie el foco lejos y al EditText.

 <item name="colorAccent">@android:color/black</item> 

Cambia tu colorAccent al color deseado dentro de tu Tema, esto cambiará tu línea EditText, Cursor así como tu pista

O también puedes incluir este estilo dentro de tu estilo.xml

 <style name="TextLabel" parent="TextAppearance.AppCompat"> <!-- Hint color and label color in FALSE state --> <item name="android:textColorHint">@android:color/black</item> <item name="android:textSize">20sp</item> <!-- Label color in TRUE state and bar color FALSE and TRUE State --> <item name="colorAccent">@android:color/black</item> <item name="colorControlNormal">@android:color/black</item> <item name="colorControlActivated">@android:color/black</item> </style> 

Entonces dentro de su TextInputLayout usted puede ponerlo como esto

 <android.support.design.widget.TextInputLayout android:id="@+id/input_layout_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/TextLabel"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/password" android:drawableStart="@drawable/password" android:maxLines="1" android:hint="password" android:inputType="textWebPassword" /> </android.support.design.widget.TextInputLayout> 

Debe establecer el color de la sugerencia en TextInputLayout.

  • Impedir que RecyclerView se desplace en AppBarLayout antes de que AppBarLayout se colapse.
  • CoordinatorLayout con CollapsingToolbarLayout rompe con el teclado en el fragmento de diálogo
  • Cómo inhabilitar el arrastre del usuario en la parte inferior
  • Una vez más obtener java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.i después de actualizar a Herramientas de soporte 23
  • Appcompat-v7: 21.0.0 ': No se encontró ningún recurso que coincida con el nombre dado: attr' android: actionModeShareDrawable '
  • Barra de herramientas Sugerencias de búsqueda
  • Biblioteca de Soporte de Diseño v22.2 "EXCEPCION DE NIVEL INESPERADO"
  • Pruebas instrumentadas con AndroidJUnitRunner 1.0.0 y AssertJ
  • RecyclerView: ¿Cómo simular el selector de dibujo de ListView en la parte superior?
  • Error al importar soporte para Android v4 o v7 en la biblioteca usando productFlavors
  • Android: Control Desplazamiento suave sobre la vista del reciclador
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.