Listy z różnymi typami elementów możesz używać do wyświetlania treści mieszanych, takich jak tekst, obrazy i elementy interaktywne.
Zgodność wersji
Ta implementacja wymaga, aby minimalna wersja pakietu SDK projektu była ustawiona na poziom API 21 lub wyższy.
Zależności
Dodawanie wielu typów elementów
Podczas tworzenia listy lub siatki z wieloma typami elementów możesz określić typ treści dla każdego elementu układu:
@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)
Najważniejsze informacje o kodzie
- Określa typ treści dla każdego elementu, ustawiając wartość
contentType
w sekcjiitems()
. - Mapuje każdy typ treści na odpowiedni element składany. Na przykład
Audio
jestcontentType
zdefiniowanym gdzie indziej i zmapowanym na kompozytAudioMessage
. - Składanie ponownie używa renderowanych komponentów w przypadku każdego elementu danego typu treści.
Wyniki

Kolekcje zawierające ten przewodnik
Ten przewodnik należy do tych kolekcji krótkich przewodników, które obejmują szersze zagadnienia związane z tworzeniem aplikacji na Androida:

Wyświetlanie listy lub siatki

Wyświetlanie komponentów interaktywnych
