2013-03-28 21 views
5

Ho una classe che estende LinearLayout, non riesco a capire come ottenere PorterDuff.Mode lavorare con questo pezzo di codice:PorterDuff.Mode Android: PorterDuff non può essere risolto per una variabile

this.getBackground().setColorFilter(Color.parseColor("#a7d2e3"), PorterDuff.Mode.DARKEN); 

"PorterDuff non può essere risolto in una variabile"

Ho importato porterduff e da quello che posso vedere PorterDuff è una classe statica. Qualche idea?

+9

Forse lo si importa correttamente? Hai fatto un refuso? 'import android.graphics.PorterDuff;' – Jesper

+0

ah, ho importato android.graphics.PorterDuff.Mode! Grazie!!! Ho passato anni a tirare fuori i miei capelli su questo – KingFu

+0

Ora ottengo NullPointerExceptions su quella linea. Strano perché this.setBackgroundColor (Color.RED); funziona bene. La vista è una sottoclasse di LinearLayout ... ti chiedi solo se non puoi chiamare getBackground/setColorFilter su un LinearLayout? – KingFu

risposta

28

Aggiungere questo ai vostri importazioni, perché per qualche motivo, Eclipse non lo fa automaticamente per questo:

import android.graphics.PorterDuff;

+1

La risposta corretta lo accetta. –

+2

stupido Eclipse! – Radu

1

Utilizzare solo Mode.DARKEN, e quindi importare android.graphics.PorterDuff.Mode;

Problemi correlati