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
enitems()
. - Asigna cada tipo de contenido a un elemento componible correspondiente. Por ejemplo,
Audio
es uncontentType
que se define en otro lugar y se asigna a un elemento componibleAudioMessage
. - Compose reutiliza los elementos componibles renderizados para cada elemento de un tipo de contenido determinado.
Resultados

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:

Cómo mostrar una lista o una cuadrícula

Cómo mostrar componentes interactivos
