2012-04-03 16 views
10

Nella mia applicazione, applico lo sfondo trasparente al mio CustomListItem del ListView in fase di runtime. Per quello che uso, convertView.setBackgroundColor(android.R.color.transparent);. Funziona e mostra trasparenza. Ma questo non è completamente trasparente in quanto vi è una sorta di ombra sullo sfondo. Ho anche provato a inserire il mio colore trasparente con i valori #80000000 e #00000000 ma il risultato è peggiorato. Cosa posso fare per ottenere il colore completamente trasparente?android.R.color.transparent non completamente trasparente

risposta

23

android.R.color.transparent è un ID risorsa (che fa riferimento a una definizione di colore trasparente) - View.setBackgroundColor(int) prevede un colore int reale.

Utilizzare invece View.setBackgroundResource(int), che caricherà il colore effettivo dalle risorse.

+0

Uomo fantastico. Grande. Grazie. Ha funzionato. – Rajkiran

+0

ha funzionato, ma perché non funziona in modo evidente è ancora un mistero. – halxinate

1

Prova:

convertView.setBackgroundColor(Color.argb(0, 0, 0, 0)); 
24

Impostare questo attributo al ListView in file xml

 
android:background="@android:color/transparent" 

e si applicano anche lo sfondo trasparente per CustomListItem del vostro ListView in fase di esecuzione. Per questo è necessario l'uso,

 
convertView.setBackgroundColor(Color.TRANSPARENT); 

Grazie

+0

Nessun uomo. Leggi la mia domanda. 'convertView.setBackgroundColor (android.R.color.transparent);' non funzionava. Leggi la risposta @antonyt. Ha funzionato. – Rajkiran

+0

Ho una risposta di modifica per favore controlla questo –

5
convertView.setBackgroundColor(Color.argb(0, 0, 0, 0)); 

O

convertView.setBackgroundColor(Color.parseColor("#00000000")); 
3

Utilizzare questo da oggi nei file del vostro XML quando si vuole la trasparenza nel vostro punto di vista:

android:background="@null" 

Otterrai prestazioni migliori.

Problemi correlati