Estoy creando un EditText en mi archivo xml de diseño
Pero quiero cambiar la línea de color en EditText de Holo a (por ejemplo) rojo. ¿Cómo se puede hacer eso?
Esta es la mejor herramienta que puede utilizar para todas las vistas y es GRATUITA muchas gracias a @ Jérôme Van Der Linden .
Android Holo Colors Generator le permite crear fácilmente componentes de Android, como EditText
spinner, con sus propios colores para su aplicación de Android. Generará todos los nueve activos de parches necesarios, además de los estilos y el dibujo XML asociado que puede copiar directamente en su proyecto.
ACTUALIZACIÓN 1
Este dominio parece expirado pero el proyecto es de código abierto que puedes encontrar aquí
intentalo
esta imagen puesta en el fondo de EditText
android:background="@drawable/textfield_activated"
ACTUALIZACIÓN 2
Para API 21 o superior, puede usar android:backgroundTint
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
android:backgroundTint="@android:color/holo_red_light" />
Actualización 3
Ahora tenemos con respaldoAppCompatEditText
Nota: Necesitamos usar app: backgroundTint en lugar de android: backgroundTint
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
app:backgroundTint="@color/blue_gray_light" />
No me gustan las respuestas anteriores. La mejor solución es usar:
android:backgroundTint
paraEditText
trabajos solo en API21 + . Por eso, tenemos que usar la biblioteca de soporte yAppCompatEditText
.Nota: tenemos que usar en
app:backgroundTint
lugar deandroid:backgroundTint
Versión de AndroidX
fuente
También puede cambiar rápidamente el color de subrayado del EditText al teñir el fondo del EditText de la siguiente manera:
fuente
para API por debajo de 21, puede usar el atributo de tema en el
EditText
código debajo del archivo de estilousa este estilo
EditText
comofuente
Programáticamente, puedes probar:
fuente
Creo que la mejor manera es por tema:
fuente
Para cambiar el color de subrayado de Edittext:
Si desea que toda la aplicación comparta este estilo, puede hacer lo siguiente.
(1) vaya al archivo styles.xml. Su AppTheme que hereda el padre de Theme.AppCompat.Light.DarkActionBar (en mi caso) será el padre base de todos los archivos de estilo en su aplicación. Cambie el nombre a "AppBaseTheme". Haga otro estilo justo debajo que tenga el nombre de AppTheme y herede de AppBaseTheme que acaba de editar. Se verá así:
Luego cambie el "colorAccent" a cualquier color que desee que sea el color de la línea EditText.
(2) Si tiene otras carpetas de valores con style.xml, este paso es muy importante. Porque ese archivo heredará de su archivo xml primario anterior. Por ejemplo, tengo valores-19 / styles.xml. Esto es específicamente para Kitkat y superior. Cambie su padre a AppBaseTheme y asegúrese de deshacerse de "colorAccent" para que no anule el color del padre. También debe mantener los elementos que son específicos de la versión 19. Entonces se verá así.
fuente
Es bastante simple (Requerido: API 21 mínimo) ...
Keep Coding ........ :)
fuente
El color de la línea está definido por
EditText
la propiedad de fondo de. Para cambiarlo debes cambiar elandroid:background
archivo de diseño.Debo señalar que este estilo se logra mediante el uso de un dibujo de 9 parches. Si mira en el SDK, puede ver que el fondo de la
EditText
imagen es esta:Para cambiarlo, puede abrirlo en un programa de manipulación de imágenes y colorearlo con el color deseado. Guárdelo como
bg_edit_text.9.png
y luego póngalo en su carpeta dibujable. Ahora puede aplicarlo como fondo para suEditText
gusto, así:fuente
Puede cambiar el color de EditText mediante programación simplemente usando esta línea de código:
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
fuente
El fondo de los widgets depende del nivel de API .
ALTERNATIVA 1
Puede proporcionar una imagen personalizada a su
EditText
fondo porTu imagen debería verse así. Te dará el efecto deseado.
ALTERNATIVA 2
Establezca este xml en su
EditText
atributo de fondo.Esto tendrá el mismo aspecto de
EditText
cada API.fuente
Puedes cambiar el color al teñir el fondo
<EditText android:backgroundTint="@color/red"/>
fuente
drawable / bg_edittext.xml
Establecer en EditText
fuente
Use este método ... y modifíquelo de acuerdo con sus nombres de vista. Este código funciona muy bien.
fuente
Si desea una línea plana, puede hacerlo fácilmente con xml. Aquí está el ejemplo xml:
Reemplace la forma con un selector si desea proporcionar un ancho y un color diferentes para el texto de edición enfocado.
fuente
El mejor enfoque es usar un atributo
AppCompatEditText
conbackgroundTint
delapp
espacio de nombres. es decircuando lo usamos
android:backgroundTint
solo funcionará en API21 o más, peroapp:backgroundTint
funciona en todos los niveles de API que su aplicación lo hace.fuente
Use android: propiedad de fondo para ese texto de edición. Pase su imagen de carpeta dibujable. Por ejemplo,
fuente
** es uno de hacer con vista **
fuente
Pruebe de la siguiente manera, convertirá el color de la línea de fondo de EditText, cuando se use como propiedad de fondo.
fuente
Esto puede hacerse simplemente incluyendo esto
android:theme="@style/AppTheme.AppBarOverlay
como atributo en su editText y agregue esto<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
a sus estilosfuente