Estilo EditarTexto personalizado con appcompat v7
Creé una vista personalizada extendiendo EditText y especificó un estilo de atributo para cambiar el color de tinte de fondo.
public class CustomEditText extends EditText { public CustomEditText (Context context) { this(context, null); } public CustomEditText (Context context, AttributeSet attrs) { this(context, attrs, R.attr.customEditTextStyle); } public CustomEditText (Context context, AttributeSet attrs, int defStyle) { super(context, attrs, R.attr.customEditTextStyle); } // Some other code... }
Luego agregué un estilo de atributo:
- ¿Cómo hacer transparente AppCompat estilo?
- Cambio del color de texto de desbordamiento de acción en ActionBar
- ActionBar con AppCompat actionBarItemBackground no funciona
- Android: compat: showAsAction = "always | withText" no funciona
- AppcompatActivity Error con el estudio de Android
<resources> <attr name="customEditTextStyle" format="reference" /> <resources>
Estoy utilizando Theme.AppCompat en mi aplicación. Ya estoy sobreescribiendo colorPrimary, colorPrimaryDark y colorAccent.
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/blue</item> <item name="colorPrimaryDark">@color/blue_dark</item> <item name="colorAccent">@color/blue_accent</item> <item name="customEditTextStyle">@style/CustomEditText</item> </style> <style name="CustomEditText" parent="Widget.AppCompat.EditText"> <item name="colorPrimary">@color/blue</item> <item name="colorPrimaryDark">@color/blue_dark</item> <item name="colorAccent">@color/blue_accent</item> </style>
Los colores de fondo editText están funcionando bien, sin embargo, no puedo hacer lo mismo con el editText personalizado.
He intentado usar este código pero cambia el estado total, tal que todos los estados utilizan el mismo color. ( Https://stackoverflow.com/a/28433337 )
editText.getBackground().setColorFilter(getResources().getColor(R.color.your_color), PorterDuff.Mode.SRC_ATOP);
¿Hay una manera de aplicar el estilo AppCompat en la vista personalizada? ¿Es este problema de AppCompat o hice algo incorrecto en mi CustomEditText? Cualquier idea sería muy apreciada. ¡Gracias!
- ¿Puedo usar Activity en lugar de ActionbarActivity sin Actionbar en Appcompat-v7?
- Android Studio / Gradle no encuentra recursos de AppCompat para pruebas
- Android colorControlNormal atributos xml no funciona antes de Lollipop
- Android Action Bar: ¿Puedo reemplazar un título personalizado en appcompat v7?
- Fondo de estilo AppCompat propagado a la imagen dentro de la barra de herramientas
- Error: El atributo "color" ya se ha definido, actualiza appcompat v-7
- Diferentes estilos de colorControlActivated en Android
- Diálogo AppCompat con estilo que contiene un fragmento
A partir de api 21 debe subclase AppCompatEdit texto. Lo mismo ocurre con todos los widgets compatibles. Utilice AppCompat * para obtener tinte y otras funciones de respaldo.
Solucionado el problema extendiendo android.support.v7.internal.widget.TintEditText.
AppCompat no admite el matiz de widget para las vistas personalizadas.
- El gestor de descargas no reconoce los archivos .mp3
- Kotlin accede constante en clase interna desde Java