Crea una lista con varios tipos de elementos

Puedes usar una lista con varios tipos de elementos para mostrar tipos de contenido mixtos, como texto, imágenes y elementos interactivos.

Compatibilidad de versiones

Esta implementación requiere que el minSDK de tu proyecto se establezca en el nivel de API 21 o superior.

Dependencias

Cómo agregar varios tipos de artículos

Puedes especificar el tipo de contenido de cada elemento del diseño cuando compones una lista o una cuadrícula con varios tipos de elementos:

@Composable
fun ListWithMultipleItems(messages: List<Any>) {
    LazyColumn {
        items(
            messages.size,
            contentType = { it }
        ) {
            for (message in messages)
                when (message) {
                    is MediaStore.Audio -> AudioMessage(message)
                    is Text -> TextMessage(message)
                }
        }
    }
}

@Composable
fun AudioMessage(message: MediaStore.Audio) {
    TODO("Not yet implemented.")
}

@Composable
fun TextMessage(message: Text) {
    TODO("Not yet implemented.")
}

data class SampleMessage(val text: String, val content: Any)

Puntos clave sobre el código

  • Especifica el tipo de contenido de cada elemento configurando contentType en items().
  • Asigna cada tipo de contenido a un elemento componible correspondiente. Por ejemplo, Audio es un contentType que se define en otro lugar y se asigna a un elemento componible AudioMessage.
  • Compose reutiliza los elementos componibles renderizados para cada elemento de un tipo de contenido determinado.

Resultados

Salida de código que muestra mensajes de audio y texto
Figura 1: Salida de código que muestra mensajes de audio y texto.

Colecciones que contienen esta guía

Esta guía forma parte de estas colecciones de guías rápidas seleccionadas que abarcan objetivos más amplios de desarrollo de Android:

Las listas y las cuadrículas permiten que tu app muestre colecciones de una forma visualmente atractiva y fácil de consumir para los usuarios.
Descubre cómo las funciones de componibilidad pueden ayudarte a crear fácilmente componentes de IU atractivos basados en el sistema de diseño de Material Design.
En esta serie de videos, se presentan varias APIs de Compose y se muestra rápidamente lo que está disponible y cómo usarlo.

Tienes preguntas o comentarios

Ve a nuestra página de preguntas frecuentes para obtener información sobre las guías rápidas o comunícate con nosotros para contarnos tu opinión.