2009-10-07 12 views
5

Por alguna razón, cada vez que me desplazo por mi lista de elementos, el fondo dentro de mi lista de lista desaparece y reaparece dando lugar a un efecto de "parpadeo" que realmente no quiero. Intenté la sugerencia en: How to make a ListView transparent in Android? pero no funciona por alguna razón. ¿Alguna sugerencia?Android: efecto de parpadeo de ListView. ¿Alguna pista sobre cómo deshacerse de esto?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/screenLayout" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/background" 
    > 
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:background="@color/title_background" 
      android:text="@string/whatsnew_title" 
      > 
     </TextView> 
     <ListView 
      android:id="@android:id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      > 
     </ListView>  
</LinearLayout> 

Respuesta

21

¿Incluyó android:cacheColorHint="#00000000"? Es la parte más importante de la solución propuesta. Acabo de probar con tu código (obviamente no es una reproducción exacta, ya que estás usando referencias a recursos específicos del proyecto), y parece funcionar.

This post on the Android Developers blog debe ser de su interés.

+0

Impresionante ... No me creerías. .. Intenté adjuntar cacheColorHint pero cada recurso que encontré decía android: cacheColorHint = "# 000000" (fíjate en el número de ceros que aparentemente no dicen nada sobre alfa) ... Y ahora funciona exactamente como yo quería ... Gracias ¡mucho! – Legend

+0

Gran respuesta hombre. –

+0

Excelente y breve respuesta y un puñado !!! gracias –

1

Revise su theme.xml para <item name="android:windowBackground">@null</item>. Si lo tiene, elimínelo. Creo que uno de los recursos populares da esta línea como ejemplo (así es como obtuve la mía).

+0

En realidad no tengo una theme.xml personalizado. ¿Estás sugiriendo que yo cree uno? – Legend

+0

Puedes probar eso - tuve un problema similar con mi pantalla de preferencias (que es ListView) pero luego - tuve theme.xml personalizado y la entrada que tengo en mi respuesta – Bostone

2

Esto también se puede lograr a partir de Java (código) lado: listView.setCacheColorHint(Color.TRANSPARENT);

Cuestiones relacionadas