Tengo un botón con el fondo definido en xml. Me gustaría teñir el botón según el estado actual en el que está, es decir, presionado, enfocado, normal.Cambiar el tinte de dibujable en el selector xml
Aquí está mi archivo xml a continuación. Además, mi colored_tint_dark
y colored_tint
son colores translúcidos que intento dibujar sobre la imagen dibujable que llamo desde la carpeta de recursos. Aquí está el problema Cuando la IU se carga por primera vez, la imagen tiene el matiz apropiado, pero después de presionarla, el estado presionado no muestra ningún matiz, luego el estado normal no mostrará ningún matiz.
<?xml version="1.0" encoding="utf-8"?>
<item android:state_pressed="true" android:drawable="@drawable/rounded_grayscale_pinstripe_button">
<shape>
<gradient
android:endColor="@color/colored_tint"
android:startColor="@color/colored_tint"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/colored_tint" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" android:drawable="@drawable/rounded_grayscale_pinstripe_button">
<shape>
<gradient
android:endColor="@color/colored_tint"
android:startColor="@color/colored_tint"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/colored_tint" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:drawable="@drawable/rounded_grayscale_pinstripe_button">
<shape>
<gradient
android:endColor="@color/colored_tint_dark"
android:startColor="@color/colored_tint_dark"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/colored_tint_dark" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
Sé que hay soluciones a este en java, pero estoy buscando específicamente para una solución en XML. Gracias.
Hola, tengo problema con selector de tinte sobre el sistema API 18 e inferior [link] (http://stackoverflow.com/questions/38673196/crash -during-inflating-view-with-vector-drawable-tint-color-selector) ¿Tiene alguna sugerencia de cuál puede ser el problema? – Alex
android: atributo de tinte no funciona en todas las API. Para resolver esto, puede crear su archivo .png con el color correcto directamente y luego eliminar el atributo android: tint de su ImageView –
¿Dónde coloco tint_menu_item.xml? – rraallvv