Mit einer Liste mit mehreren Artikeltypen können Sie gemischte Inhaltstypen wie Text, Bilder und interaktive Elemente anzeigen.
Versionskompatibilität
Für diese Implementierung muss das minSDK Ihres Projekts auf API-Level 21 oder höher festgelegt sein.
Abhängigkeiten
Mehrere Artikeltypen hinzufügen
Sie können den Inhaltstyp für jedes Element des Layouts angeben, wenn Sie eine Liste oder ein Raster mit mehreren Elementtypen erstellen:
@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)
Wichtige Punkte zum Code
- Gibt den Inhaltstyp für jedes Element an, indem
contentType
initems()
festgelegt wird. - Hier wird jeder Inhaltstyp einem entsprechenden Composeable zugeordnet.
Audio
ist beispielsweise eincontentType
, das an anderer Stelle definiert ist und einemAudioMessage
-Komposit zugeordnet ist. - Bei Compose werden die gerenderten Composeables für jedes Element eines bestimmten Inhaltstyps wiederverwendet.
Ergebnisse

Sammlungen, die diesen Leitfaden enthalten
Dieser Leitfaden ist Teil der folgenden ausgewählten Sammlungen von Kurzanleitungen, die allgemeinere Ziele der Android-Entwicklung abdecken:

Liste oder Raster anzeigen

Interaktive Komponenten anzeigen
