He creado una lista específica que existe a partir de los siguientes elementos para crear una lista desplazable con cada fila que contiene una imagen en el lado izquierdo y algo de texto en el lado derecho:
Para comenzar con un diseño "raíz":
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#C8C8C8"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:divider="#C8C8C8"
android:background="#C8C8C8"/>
</LinearLayout>
y luego dentro de ListView coloco el siguiente elemento de "fila":
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/bg_row"
>
<ImageView
android:layout_width="wrap_content"
android:paddingLeft="10px"
android:paddingRight="15px"
android:paddingTop="5px"
android:paddingBottom="5px"
android:layout_height="wrap_content"
android:src="@drawable/bg_image"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5px"
android:paddingBottom="5px"
android:textSize="16sp"
android:textColor="#000000"
android:layout_gravity="center"
android:maxHeight="50px"/>
</LinearLayout>
Mientras la pantalla se muestre estáticamente (como sin movimiento), se mostrará correctamente, pero cuando empiece a desplazarme por la lista, se mostrará el fondo del elemento de fila (un "icono" como se puede mostrar en el código) se muestra correctamente pero el fondo del diseño "raíz" se volverá completamente negro ... cuando el desplazamiento se detenga, el fondo, la mayoría de las veces, recuperará su color ... Como pruebo, también agregué un TextView
elemento raíz con el mismo fondo, este detendrá su color cuando se desplaza la Lista ... ¿Alguna idea de por qué sucede esto y cómo resolverlo?
android:cacheColorHint="#0000"
También funciona si tienes miedo a los ceros.android:cacheColorHint="@android:color/transparent"
si tienes miedo a los números :)Es muy simple, solo use esta línea en su archivo de diseño:
Me gusta esto:
fuente
puedes usar así:
fuente
fuente
Tenemos muchas opciones para este problema, puede establecer el fondo como transparente a través de la programación como
o a través de xml
fuente
En tu xml donde usar
Listview
setfuente
Estoy usando imágenes
listView
y a veces se vuelve negro en Samsung s4 sin siquiera desplazarse. Fue un error estúpido lo que hice en el adaptador. Simplemente puse mi punto de vista en nulo para solucionar este problemafuente
Hay muchas respuestas a esta pregunta, pero hoy me di cuenta de que a esta pregunta todavía le falta una información crítica.
Hay dos posibles soluciones para el problema, ambas funcionan pero cada una debe usarse en diferentes situaciones.
Métodos
Úselo
android:cacheColorHint
cuandoListView
tenga un fondo de color sólido .Utilizar
android:scrollingCache
cuando suListView
tiene un (complejo) la imagen como fondo.Nota
Cuando
ListView
tiene un fondo de color sólido, ambos métodos funcionarán, por lo que no solocacheColorHint
funcionará. Pero no se recomienda utilizar elscrolingCache
método para fondos de color sólido, ya que desactiva un método de optimización utilizado para animar y desplazar suavemente ListView.Nota para la nota:
scrolingCache
establecer en falso no significa necesariamente que lasListView
animaciones y el desplazamiento de la cámara se ralentizarán.fuente
fuente
Lo siguiente funcionó para mí:
fuente
android:cacheColorHint="#00000000"// setting transparent color
o
no establezca el fondo de
listview
.fuente