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.
- Android NavigationView (material support lib) no interactúa con la barra de estado correctamente
- La instalación de la biblioteca com: android: support: percent: 22.2.1 falla en Android Studio
- Necesita deshabilitar expandir CollapsingToolbarLayout para ciertos fragmentos
- ¿Cómo agregar Android Support Repository a Android Studio?
- Cheesesquare: enterAlways produce un diseño incorrecto
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>
- FloatingActionButton setVisibility () no funciona
- PagerTabStrip no se muestra en ViewPager en la orientación de la aplicación Android 6.X (N)
- No se encontró ningún recurso que coincida con el nombre dado: attr 'android: keyboardNavigationCluster'. Al actualizar a Support Library 26.0.0
- BottomNavigationView muestra los iconos y las etiquetas de texto en todo momento
- Fragmento debe ser una clase pública estática para ser recreado correctamente desde el estado de la instancia
- Librería de soporte de Android 23.2 vector drawables are blurry
- No se puede usar la casilla de verificación en eclipse con el complemento de adt de Android
- Proporcionar icono a selector de sistema a través de ChooserTargetService, FileProvider y grantUriPermission
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.