2011-08-19 25 views

risposta

57

Hai provato a impostarlo su null?

Secondo Android Documentation:

pubblico setColorFilter vuoto (colorfilter cf)

Dal: API Livello 1 Applicare un colorfilter arbitrario all'immagine. Parametri

cf il colorfilter di applicare (può essere nullo)

+6

ahi. view.setColorFilter (0xFFFFFFFF, Mode.MULTIPLY); ha funzionato anche –

+17

Non funziona correttamente sul lecca-lecca. Dovresti usare 'clearColorFilter()' invece –

+0

clearColorFilter() rende esatta la stessa chiamata di setColorFilter (null) in tutte le versioni di Android disponibili ora, quindi non hai ragione nella seconda parte della tua affermazione :) – Vadim

97

È possibile chiamare clearColorFilter() per lo stesso oggetto su cui hai chiamato setColorFilter(). Questo metodo è equivalente a setColorFilter(null) ed è probabilmente più leggibile rispetto al secondo.

0

Prova questa:

Drawable play = ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_action_play_arrow); 
play.clearColorFilter(); 
view.invalidate(); // This is helpful when you apply morethan one color filter 

Altre due risposte sono anche lì che sono utili anche. Ma funziona per me quando invalido la vista.