Puoi utilizzare un elenco con più tipi di elementi per visualizzare tipi di contenuti misti come testo, immagini ed elementi interattivi.
Risultati
Compatibilità con la versione
Questa implementazione richiede che il minSDK del progetto sia impostato sul livello API 21 o superiore.
Dipendenze
Aggiungere più tipi di elementi
Puoi specificare il tipo di contenuto per ogni elemento del layout quando componi un elenco o una griglia con più tipi di elementi:
@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)
Punti chiave sul codice
- Specifica il tipo di contenuto per ogni elemento impostando
contentTypeinitems(). - Mappa ogni tipo di contenuto a un composable corrispondente. Ad esempio,
Audioè uncontentTypedefinito altrove e mappato a unAudioMessagecomposable. - Compose riutilizza i composable sottoposti a rendering per ogni elemento di un determinato tipo di contenuto.
Raccolte che contengono questa guida
Questa guida fa parte di queste raccolte di guide rapide curate che riguardano obiettivi di sviluppo Android più ampi:
Visualizzare un elenco o una griglia
Gli elenchi e le griglie consentono alla tua app di mostrare le raccolte in una
forma visivamente accattivante e facile da utilizzare per gli utenti.
Visualizzare componenti interattivi
Scopri come le funzioni composable possono consentirti di creare facilmente
componenti UI accattivanti basati sul sistema di progettazione Material Design
system.
Nozioni di base su Compose (raccolta di video)
Questa serie di video introduce varie API Compose,
mostrando rapidamente cosa è disponibile e come utilizzarle.
Hai domande o feedback
Visita la nostra pagina delle domande frequenti e scopri le guide rapide oppure contattaci e comunicaci la tua opinione.