2011-08-19 18 views

Respuesta

57

¿Ha intentado establecerlo en null?

Según Android Documentation:

public void setColorFilter (ColorFilter cf)

desde: API Nivel 1 Aplicar una colorfilter arbitraria a la imagen. Parámetros

cf colorfilter aplicar (puede ser nulo)

+6

ouch. view.setColorFilter (0xFFFFFFFF, Mode.MULTIPLY); también funcionó –

+17

No funciona correctamente en lollipop. Debería usar 'clearColorFilter()' en su lugar –

+0

clearColorFilter() hace exactamente la misma llamada de setColorFilter (null) en todas las versiones de Android disponibles ahora, por lo que no está bien en la segunda parte de su declaración :) – Vadim

97

Puede llamar clearColorFilter() para el mismo objeto en el que llamó setColorFilter(). Este método es equivalente a setColorFilter(null), y podría decirse que es más legible que este último.

0

Prueba esto:

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 

Otras dos respuestas también están allí que son útiles también. Pero funciona para mí cuando invalido la vista.

Cuestiones relacionadas