У нас есть условная видимость элементов внутри LazyColumn. Если условие не соответствует, мы не показываем товар. Из-за условной логики внутри LazyColumn и наличия вертикального расположения возникает дополнительный разрыв между следующим элементом (как на снимке экрана).
В качестве простой демонстрации я поставил простая логика ниже. Это дает дополнительный интервал из-за интервала по вертикали.
Вопрос: можно ли каким-либо образом обнаружить, что дочерний элемент не добавлен, и избежать использования вертикального интервала? Я знаю, что мы можем исправить это, используя интервалы на дочернем уровне, но не можем этого сделать из-за особенностей архитектуры приложения.
Код: Выделить всё
// Scaffold and LazyColumn are on screen level
Scaffold {
LazyColumn(
modifier = Modifier.padding(it),
// Can not remove verticalArrangement because of code architectural arrangement
verticalArrangement = Arrangement.spacedBy(12.dp)
) {
for (i in 1..5) {
// item is in widget level
item {
if (i != 4) {
Item("Title: $i")
}
}
}
}
}

Подробнее здесь: https://stackoverflow.com/questions/786 ... lazycolumn
Мобильная версия