Избегайте интервала по вертикали, если дочерний элемент не добавлен в LazyColumn.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Избегайте интервала по вертикали, если дочерний элемент не добавлен в LazyColumn.

Сообщение Anonymous »

В настоящее время мы разрабатываем приложение с использованием SDUI. В котором на сопоставителе родительского экрана мы размещаем Scaffold и LazyColumn. В преобразователе виджетов дочернего уровня мы размещаем элементы.
У нас есть условная видимость элементов внутри 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»