AppCompat y EditText subrayado diferente en diferentes API
Estoy tratando de hacer subrayar el cambio de color de línea para EditText
(se utilizará para la validación de entrada, por lo que debe ser capaz de cambiar en tiempo de ejecución).
Estoy usando la biblioteca AppCompat. El problema es que en la API 21 y arriba, veo la línea negra transparente (superposición gris), en lugar de la versión en negrita.
- Base.Widget.AppCompat.Button vs Widget.AppCompat.Button
- El botón de radio creado dinámicamente o CheckBox no utiliza el acento de color
- La altura de ProgressBar de AppCompat
- No se puede instanciar la clase: android.support.v7.widget.SearchView
- Barra de herramientas de superposición en la parte superior del contenido de la actividad
¿Cómo hacerlo igual que en la API 16?
He utilizado este código para cambiar el matiz:
final Drawable originalDrawable = view.getBackground(); final Drawable wrappedDrawable = DrawableCompat.wrap(originalDrawable); DrawableCompat.setTint(wrappedDrawable, Color.RED); setBackground(view,wrappedDrawable);
- Switchcompat no muestra el conmutador
- Cómo crear AppBarLayout que se superpone contenido de CoordinatorLayout
- ActionBar en PreferenceFragment no volver a calcular la altura y el tamaño de fuente
- La importación android.support.v7.app no se puede resolver
- AppCompatSeekBar eliminación de relleno izquierdo y derecho?
- Problema con Android app-v7-appcompat con 4.0 y superior
- Android Studio Error de compilación con la biblioteca AppCompat newbie q
- Barra de herramientas de AppCompat popupTheme no se utiliza en ShareAction MenuItem
Solución encontrada añadiendo estas líneas a mi tema:
<item name="editTextStyle">@style/Base.V7.Widget.AppCompat.EditText</item> <item name="editTextBackground">@drawable/abc_edit_text_material</item>
No debe cambiar el fondo. Es mejor si creas un tema y usas los colores del tema (colorPrimary, colorAccent son los más importantes para los widgets) para obtener el efecto deseado. Asigna el tema a tu EditText y disfruta. Nota: debe utilizar uno de los temas de AppCompat como tema base.
<style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorAccent">@color/accent</item> </style>
Y en sus colores.xml
<color name="primary">#ff0000</color> <color name="accent">#00ff00</color>