java.lang.IllegalStateException: вложенные макеты с возможностью прокрутки в одном направлении, такие как LazyColumn и Столбец(Modifier.verticalScroll()) не разрешен. Если вы хотите добавить заголовок перед списком элементов, обратите внимание на компонент LazyColumn, который имеет API DSL, который позволяет сначала добавить заголовок с помощью функции item(), а затем список элементов с помощью items().
У меня есть требование ProfileScreen, например столбец с вертикальной прокруткой, внутри которого есть несколько разделов профиля, таких как изображения и ссылки. Раздел изображения имеет вертикальную сетку из 3, а раздел ссылок также имеет вертикальную сетку с максимальным интервалом 2 и диапазоном для элементов.
Вот как это реализовано:
Код: Выделить всё
Column(
modifier = Modifier
.fillMaxSize()
.pullRefresh(pullRefreshState, enabled = true)
.verticalScroll(rememberScrollState())
.background(mainBackGround)
) {
//LinksSection()
Column(
modifier = modifier
.padding(padding)
.shadow(elevation, shape)
.fillMaxWidth()
.background(backgroundColor, shape)
) {
LazyVerticalGrid(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 7.dp),
columns = GridCells.Fixed(2)
) {
items(
array,
span = { item ->
return@items if (item.thumbnail.orEmpty().equals("small", true)) {
if (item.localBig) {
GridItemSpan(2)
} else {
GridItemSpan(1)
}
} else {
GridItemSpan(2)
}
},
) {
gridItems()
}
//GallerySection
Column(
modifier = modifier
.padding(padding)
.shadow(elevation, shape)
.fillMaxWidth()
.background(backgroundColor, shape)
) {
LazyVerticalGrid(
userScrollEnabled = false,
columns = GridCells.Fixed(3),
horizontalArrangement = Arrangement.Center,
) {
items() {}
}
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... ot-working
Мобильная версия