Android: ListView efecto de parpadeo. ¿Alguna pista sobre la manera de deshacerse de esto?
-
20-09-2019 - |
Pregunta
Por alguna razón, cada vez que me desplazo a través de mi lista de artículos, el fondo dentro de mi vista de lista desaparece y reaparece dando lugar a un efecto de "parpadeo", que realmente no lo quiero. He intentado la sugerencia en: Cómo hacer un ListView transparentes en Android pero que doesn? 't funciona por alguna razón. ¿Alguna sugerencia?
<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>
Solución
¿Incluyó android:cacheColorHint="#00000000"
? Es la parte más importante de la solución propuesta. He intentado su código (obviamente no una reproducción exacta, ya que está utilizando referencias a recursos específicos del proyecto) con él, y parece que funciona.
En esta referencia al Desarrolladores de Android el blog debe ser de su interés.
Otros consejos
Esto también se puede lograr a partir de Java (código) lado: listView.setCacheColorHint(Color.TRANSPARENT);
Compruebe su theme.xml para <item name="android:windowBackground">@null</item>
. Si lo tienes - eliminarlo. Creo que uno de los recursos populares da esta línea como ejemplo (que es como yo tengo la mía).