RecyclerView
RecyclerView es un grupo de vistas para mostrar colecciones; está diseñado para ser un reemplazo más flexible para grupos de vistas anteriores, como ListView y GridView. En esta guía se explica cómo usar y personalizar RecyclerView en aplicaciones de Xamarin.Android.
RecyclerView
Muchas aplicaciones necesitan mostrar colecciones del mismo tipo (como mensajes, contactos, imágenes o canciones). A menudo, esta colección es demasiado grande para caber en la pantalla, por lo que la colección se presenta en una ventana pequeña que puede desplazarse sin problemas por todos los elementos de la colección.
RecyclerView
es un widget de Android que muestra una colección de elementos de una lista o una cuadrícula, lo que permite al usuario desplazarse por la colección. A continuación se muestra una captura de pantalla de una aplicación de ejemplo que usa RecyclerView
para mostrar el contenido de la bandeja de entrada de correo electrónico en una lista de desplazamiento vertical:
RecyclerView
ofrece dos características atractivas:
Tiene una arquitectura flexible que le permite modificar su comportamiento conectando los componentes que prefiera.
Es eficaz con colecciones grandes porque reutiliza las vistas de elementos y requiere el uso de los titulares de vista para almacenar en caché las referencias de vista.
En esta guía se explica cómo usar RecyclerView
en aplicaciones de Xamarin.Android; se explica cómo agregar el paquete RecyclerView
al proyecto de Xamarin.Android y se describe cómo RecyclerView
funcionan en una aplicación típica. Se proporcionan ejemplos de código real para mostrar cómo integrar RecyclerView
en la aplicación, cómo implementar el clic en la vista de elementos y cómo actualizar RecyclerView
cuándo cambian sus datos subyacentes. En esta guía se da por supuesto que está familiarizado con el desarrollo de Xamarin.Android.
Requisitos
Aunque RecyclerView
a menudo está asociado a Android 5.0 Lollipop, se ofrece como biblioteca de soporte técnico: RecyclerView
funciona con aplicaciones que tienen como destino el nivel de API 7 (Android 2.1) y versiones posteriores. Se requiere lo siguiente para usar RecyclerView
en aplicaciones basadas en Xamarin:
Xamarin.Android: Xamarin.Android 4.20 o posterior debe estar instalado y configurado con Visual Studio o Visual Studio para Mac.
El proyecto de aplicación debe incluir el paquete Xamarin.Android.Support.v7.RecyclerView . Para obtener más información sobre cómo instalar paquetes NuGet, vea Tutorial: incluir un NuGet en el proyecto.
Información general
RecyclerView
se puede considerar como un reemplazo de los widgets ListView
y GridView
en Android. Al igual que sus predecesores, RecyclerView
está diseñado para mostrar un conjunto de datos grande en una ventana pequeña, pero RecyclerView
ofrece más opciones de diseño y está mejor optimizado para mostrar colecciones grandes. Si está familiarizado con ListView
, hay varias diferencias importantes entre ListView
y RecyclerView
:
RecyclerView
es ligeramente más complejo de usar: tiene que escribir más código para usarRecyclerView
en comparación conListView
.RecyclerView
no proporciona un adaptador predefinido; Debe implementar el código de adaptador que tiene acceso al origen de datos. Sin embargo, Android incluye varios adaptadores predefinidos que funcionan conListView
yGridView
.RecyclerView
no ofrece un evento de clic de elemento cuando un usuario pulsa un elemento; en su lugar, las clases auxiliares controlan los eventos de clic de elemento. Por el contrario,ListView
ofrece un evento de clic de elemento.RecyclerView
mejora el rendimiento mediante el reciclaje de vistas y la aplicación del patrón de soporte de vista, lo que elimina las búsquedas innecesarias de recursos de diseño. El uso del patrón de soporte de vista es opcional enListView
.RecyclerView
se basa en un diseño modular que facilita la personalización. Por ejemplo, puede conectar una directiva de diseño diferente sin cambios significativos en el código de la aplicación. Por el contrario,ListView
es relativamente monolítico en la estructura.RecyclerView
incluye animaciones integradas para agregar y quitar elementos.ListView
animaciones requieren un esfuerzo adicional por parte del desarrollador de la aplicación.
Secciones
Elementos RecyclerView y funcionalidad
En este tema se explica cómo funcionan juntos, Adapter
, LayoutManager
y ViewHolder
como clases auxiliares para admitir RecyclerView
.
Proporciona información general de alto nivel de cada una de estas clases auxiliares y explica cómo se usan en la aplicación.
Ejemplo básico de RecyclerView
Este tema se basa en la información proporcionada en Elementos de RecyclerView y funcionalidad proporcionando ejemplos de código reales sobre cómo se implementan los distintos elementos RecyclerView
para crear una aplicación de exploración fotográfica real.
Extensión del ejemplo de RecyclerView
En este tema se agrega código adicional a la aplicación de ejemplo presentada en Ejemplo básico de RecyclerView para demostrar cómo controlar eventos de clic de elemento y actualizar RecyclerView
cuando cambia el origen de datos subyacente.
Resumen
En esta guía se ha presentado el widget RecyclerView
de Android; se ha explicado cómo añadir la biblioteca de ayuda RecyclerView
a los proyectos de Xamarin.Android, cómo recicla RecyclerView
las vistas, cómo aplica el patrón de soporte de vistas para lograr eficiencia y cómo colaboran las distintas clases de ayuda que componen RecyclerView
para mostrar colecciones. Se proporcionó código de ejemplo para demostrar cómo se integra RecyclerView
en una aplicación, se explica cómo adaptar directiva de diseño RecyclerView
conectando diferentes administradores de diseño y describe cómo controlar eventos de clic de elemento y notificar RecyclerView
de los cambios del origen de datos.
Para obtener más información sobre RecyclerView
, vea la referencia de la clase RecyclerView.