2012-04-03 19 views
10

In meiner Anwendung wende ich den transparenten Hintergrund auf meine CustomListItem ListView zur Laufzeit. Dafür benutze ich convertView.setBackgroundColor(android.R.color.transparent);. Es funktioniert und zeigt Transparenz. Aber das ist nicht völlig transparent, da es eine Art Schatten für den Hintergrund gibt. Ich habe auch versucht, meine eigene transparente Farbe mit den Werten #80000000 und #00000000 zu setzen, aber das Ergebnis ist schlechter. Was kann ich tun, um die vollständig transparente Farbe zu erhalten?android.R.color.transparent nicht vollständig transparent

Antwort

23

android.R.color.transparent ist eine Ressourcen-ID (bezieht sich auf eine transparente Farbdefinition) - View.setBackgroundColor(int) erwartet eine tatsächliche int-Farbe.

Verwenden Sie stattdessen View.setBackgroundResource(int), die die tatsächliche Farbe aus Ressourcen laden.

+0

Ehrfürchtiger Mann. Groß. Vielen Dank. Es funktionierte. – Rajkiran

+0

funktioniert, aber warum es nicht funktioniert, ist der offensichtliche Weg immer noch ein Mysterium. – halxinate

1

Versuchen:

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

dieses Attribut auf Ihre Listview in XML-Datei

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

und gelten auch den transparenten Hintergrund zu Ihrem Listview ist CustomListItem zur Laufzeit. Für , dass Sie verwenden,

 
convertView.setBackgroundColor(Color.TRANSPARENT); 

Dank

+0

Kein Mann. Lies meine Frage. 'convertView.setBackgroundColor (android.R.color.transparent);' funktionierte nicht. Lesen Sie @antonyt Antwort. Es funktionierte. – Rajkiran

+0

Ich habe Antwort bearbeiten bitte überprüfen Sie dies –

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

ODER

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

verwenden ab sofort in Dateien Ihre xml ist, wenn Sie Transparenz in Ihre Ansichten möchten:

android:background="@null" 

Sie werden eine bessere Leistung erzielen.

Verwandte Themen