In un'app che sto sviluppando sto cercando di creare in modo programmatico uno ImageButton
che sia una copia dello ImageButton
selezionato, ma l'immagine è colorata in un modo diverso, diciamo rosso.Cambiare temporaneamente colore selezionabile
Se uso il PowerDuff.Mode.MULTIPLY
:
clonebutton.getDrawable().setColorFilter(0xFFFF0000,Mode.MULTIPLY);
Poi anche l'originale ImageButton
cambia il suo colore rosso per quanto condividono lo stesso drawable
. C'è un modo per applicare il filtro solo sul clonebutton senza utilizzare due diversi drawables
? Ad esempio, è possibile in qualche modo mettere un livello di colorazione sopra a clonebutton senza modificare lo drawable
?
Aggiornamento ho impostato la drawable come mutabile:
Drawable d = swipebutton.getDrawable();
d.mutate();
d.setColorFilter(0xFFFF0000,Mode.MULTIPLY);
swipebutton.setImageDrawable(d);
questo modo si evita la mia clonebutton di condividere lo stato della sua drawable
ad altri views
.
questo ha funzionato perfettamente! – Vektor88
La risposta è arrivata così velocemente che non ho potuto accettarlo in quel momento a causa della mia bassa reputazione, ma questo funziona sicuramente! – Vektor88
:) ........ non ci sono problemi – Triode