Что такое Jetpack Compose, эквивалентный RecyclerView или ListView? - PullRequest
0 голосов
/ 20 марта 2020

В Jetpack Compose, как я могу отобразить большой список данных, одновременно выкладывая только видимые элементы, вместо того, чтобы составлять и выкладывать каждый элемент на начальном этапе макета? Это было бы похоже на RecyclerView и ListView в наборе инструментов View.

Можно использовать for l oop, чтобы поместить все компоненты внутри Column в VerticalScroller, но это может привести к пропущенным кадрам и снижению производительности при большем количестве элементов.


Примечание. empt / обрабатывать похожие вопросы

1 Ответ

4 голосов
/ 20 марта 2020

Компонент, эквивалентный RecyclerView или ListView в предварительном просмотре Jetpack Compose dev, равен AdapterList, который составляет и отображает только видимые в данный момент элементы. Прямо сейчас (по состоянию на dev07) у него есть некоторые ограничения, такие как поддержка только вертикальных списков, хотя их планируется устранить в более поздних выпусках.

Вы используете его, отформатировав данные в виде списка и передав их @Composable обратный вызов, который генерирует пользовательский интерфейс для данного элемента в списке. Например:

val myData = listOf("Hello,", "world!")
AdapterList(data = myData) { item ->
    Text(text = item)
}
...