2011-11-15 10 views
7

Ho un nero & 9patch bianco disegnabile come sfondo di una vista e vorrei applicare un colore su di esso, come una sovrapposizione semitrasparente che lascia visibile il disegno ma applica il colore desiderato su esso.Sovrapposizione colore Android - modalità PorterDuff

Pensavo che il drawable.setColorFilter(color,mode) potesse fare il trucco, ma non riesco a capire cosa significano le diverse modalità.

Qualcuno potrebbe darmi un suggerimento?

risposta

8

Credo che questa domanda può aiutare:

Understanding the Use of ColorMatrix and ColorMatrixColorFilter to Modify a Drawable's Hue

Detto questo, vi suggerirei di usare PorterDuff.Mode.MULTIPLY per quello che stai bisogno.

+0

Prego! :) Se hai utilizzato i metodi di fusione di Photoshop (probabilmente GIMP ha qualcosa di simile) c'è molta sovrapposizione e funzionano più o meno allo stesso modo. – kcoppock

+0

C'è un modo per fare questo in modo che se l'effetto viene applicato più volte non cambia la tinta oltre il primo sorteggio? L'immagine diventa sempre più rossa, ad esempio ... – jjxtra

Problemi correlati