vertical studio programacion móviles horizontal fillviewport desarrollo curso aplicaciones android android-listview android-scrollview

android - studio - Diferencia entre ScrollView y ListView



scrollview android vertical (6)

¿Alguien puede explicar la diferencia entre la vista de desplazamiento y la vista de lista? ¿Cuándo usar cuál? ¿Y cuál es más eficiente?


Dado que una imagen vale más que mil palabras, aquí hay ejemplos perfectos de la vida real:

Listview es como la aplicación Kijiji

Scrollview es como la aplicación EBay

Además, vea una vista de desplazamiento como una valla publicitaria o una pared, donde puede poner montones de cosas diferentes en ella.

Y una vista de lista es más como una página de resultados: los resultados son todos de la misma naturaleza, por lo tanto, se ajustan perfectamente en una vista de lista. Como una lista de contactos : todos comparten la misma estructura; dirección del nombre del número de teléfono, etc.


Ellos son completamente diferentes.

Un ScrollView es un simple contenedor de desplazamiento que puedes usar para desplazar lo que coloques dentro de él, que podría ser una lista de elementos, o no.

http://developer.android.com/reference/android/widget/ScrollView.html

Un ListView está diseñado específicamente para contener listas, donde los elementos suelen tener el mismo aspecto (o al menos seguir un patrón, por ejemplo, encabezados de sección). ListView también está diseñado para conectarse a una fuente de datos de algún tipo, SQLite, matriz, proveedor de contenido, etc. ListView puede escalar para manejar enormes cantidades de elementos de la lista.

http://developer.android.com/resources/tutorials/views/hello-listview.html

Si tiene datos que necesita mostrar en una lista, use un ListView. Si solo necesitas contenido de desplazamiento, entonces ScrollView es bastante probbal.


ScrollView simplemente coloca sus contenidos en un contenedor desplazable, solo puede editar sus contenidos agregándole puntos de vista.

ListView es una clase que usa un adaptador que maneja la creación de vistas para sus objetos de datos, solo necesita editar los datos, y el adaptador realiza las modificaciones de diseño automáticamente.

ScrollView se debe usar cuando tiene una pantalla (por ejemplo, un formulario con múltiples campos) que no cabe en una pantalla en dispositivos pequeños, ya que scrollview le ofrece al usuario la posibilidad de desplazarse hacia abajo.

ListView se debe usar cuando se representan conjuntos de datos.

Puede leer sobre esto en http://developer.android.com/guide/index.html


Un ListView está respaldado por un Adaptador, que contiene un DataSource. Esto le permite mostrar datos fácilmente en filas.

Un ScrollView le permite poner contenido dentro de él, y si el contenido excede el tamaño de ScrollView, le permitirá al usuario desplazarse.

Ambos tienen sus usos, pero depende de lo que estás tratando de hacer.


Vista de la lista:-

En ListView Puede administrar fácilmente el diseño de los elementos en xml que desee mostrar en la lista.

Debe indicarle al adaptador el número de elementos que desea en su lista de visualización.

Puede diseñar vistas tanto homogéneas como heterogéneas según sus necesidades al sobreescribir el método getItemViewType () de Adapter.

En ListView, los elementos de la lista se crean de acuerdo con el tamaño de la pantalla. es decir, cuántos elementos pueden aparecer en la pantalla se crean vistas adicionales (elementos) se crean cuando la lista se desplaza en tiempo de ejecución. Las vistas que se muestran una vez se guardan en la memoria caché cuando salen de la pantalla y cuando la lista se desplaza al estado anterior, se muestran las mismas vistas, pero esta vista temporal no se crea, sino que se extraen de la memoria caché.

ScrollView: -

El concepto de caché no es aplicable con ScrollView.

Todas las vistas se crean a la vez cuando aparecen en la pantalla y no se almacenan en caché cuando se mueven fuera de la pantalla mientras se desplazan. Están presentes en la memoria (principal) que pueden provocar la pérdida de memoria porque el recolector de basura no está destruyendo la cantidad de objetos creados, ya que están siendo referenciados hasta que se encuentre en la misma página.

Aunque puede crear vistas tanto homogéneas como heterogéneas. Si hay más elementos para mostrar en su lista, sería tedioso administrar el diseño, ya sea que esté diseñando en xml o creando dinámicamente usando código Java.

Es preferible usar scrollview si tiene una sola página que no contiene una lista de elementos, por ejemplo, formulario de registro, formulario de reserva, pero esa vista es más grande que el tamaño de la pantalla y luego coloque ScrollView como vista principal. También tenga en cuenta que ScrollView solo puede tener una diseño / vista directa del niño.


ScrollView se usa para poner vistas o diseños de niños diferentes o iguales y se puede desplazar todo.

ListView se usa para colocar la vista o el diseño del mismo niño como elementos múltiples. Todos estos elementos también son desplazables.

Simplemente ScrollView es para una colección homogénea y heterogénea. ListView es solo para una colección homogénea.