2012-04-03 9 views
10

En mi aplicación, aplico el fondo transparente a ListView's CustomListItem en tiempo de ejecución. Para eso uso, convertView.setBackgroundColor(android.R.color.transparent);. Funciona y muestra transparencia. Pero eso no es completamente transparente, ya que hay algún tipo de sombra en el fondo. También traté de poner mi propio color transparente con los valores #80000000 y #00000000, pero el resultado es peor. ¿Qué puedo hacer para obtener el color completamente transparente?android.R.color.transparent no completamente transparente

Respuesta

23

android.R.color.transparent es una identificación de recurso (refiriéndose a una definición de color transparente) - View.setBackgroundColor(int) espera un color int real.

Use View.setBackgroundResource(int) en su lugar, que cargará el color real de los recursos.

+0

Hombre impresionante. Estupendo. Gracias. Funcionó. – Rajkiran

+0

funcionó, pero por qué no está funcionando de la manera obvia sigue siendo un misterio. – halxinate

1

Probar:

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

establezca este atributo en su vista de lista en el archivo xml

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

y también aplicar el fondo transparente para CustomListItem de su ListView en tiempo de ejecución. Para eso hay que usar,

 
convertView.setBackgroundColor(Color.TRANSPARENT); 

Gracias

+0

Ningún hombre. Lee mi pregunta 'convertView.setBackgroundColor (android.R.color.transparent);' no funcionaba. Lee la respuesta @antonyt. Funcionó. – Rajkiran

+0

Tengo una respuesta de edición, compruebe esto –

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

O

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

Utilice esta a partir de ahora en los archivos de su xml cuando se desea transparencia en sus puntos de vista:

android:background="@null" 

Vas a obtener un mejor rendimiento.