Братцы и сестры, есть такой вопрос. Допустим у нас есть

список с титулом, который мы хотим отобразить, титул должен быть статичным при прокрутке. Можно использовать stickyHeader у LazyColumn, а можно положить LazyColumn в Column после заголовка. Вообще такое чувство что логичней пользоваться вторым, но особой разницы не вижу. Кроме “адекватности” подхода, есть еще какие-нибудь аргументы в пользу первого или второго способов?

22 ответов

6 просмотров

Ну если он у тебя один и всегда вверху, то конечно второй вариант и можно даже в column, а не box. Кроме того стикихедер экспериментальный. А вот если бы у тебя было много групп данных и эти тултипы должны были прокручиваться вместе со списком и задерживаться сверху, то StickyHeader.

Silent829- Автор вопроса
Silent829
Эм, зачем LazyColumn внутрь Column совать)

Если тебе нужен постоянный заголовок, а не скролящийся с контентом (sticky header), то вполне логично разместить Column Header LazyColumn

Silent829- Автор вопроса
Konstantin Dovnar
Если тебе нужен постоянный заголовок, а не скролящ...

Почему логично юзать нестедскроллинг? Предпочту его не юзать, если мне оно не надо, тут можно и без него обойтись

Silent829
Почему логично юзать нестедскроллинг? Предпочту ег...

Откуда ты взял нестедскроллинг? Сам придумал — сам обошёл:)

Silent829- Автор вопроса
Konstantin Dovnar
Откуда ты взял нестедскроллинг? Сам придумал — сам...

А, это когда задаешь Column модификатор verticalScroll(…) Хм… попробую

Silent829
А, это когда задаешь Column модификатор verticalSc...

Зачем? Обычный Column у тебя и не должен скроллиться вовсе. Скроллится только LazyColumn

Silent829- Автор вопроса
Konstantin Dovnar
Зачем? Обычный Column у тебя и не должен скроллит...

я и не говорю что она должна скроллиться, я говорю что ошибка про нестедскроллинг будет только когда у Column задан такой модификатор, при его отсутствии не должно быть ошибок

Silent829
я и не говорю что она должна скроллиться, я говорю...

Видимо я тебя не так понял. В таком случае да. И растягиваешь lazy на всю оставшуюся ширину.

Silent829- Автор вопроса
Konstantin Dovnar
Видимо я тебя не так понял. В таком случае да. И ...

Вот кстати интересно- нужно ли задавать LazyColumn обязательно модификатор fillMaxSize() чтобы мол ограничить ее высоту для производительности? Если говорить про ширину, то я item-ам передаю в модификатор модификатор с fillMaxWidth(), не задавая его внутри самого @Composable item-а. А вот про высоту хз

Silent829
Вот кстати интересно- нужно ли задавать LazyColumn...

Не уверен, как оно работает внутри, но отсутствие высоты вполне себе может вылиться в ошибку, т.к. Column не будет знать насколько большим отрисовывать Lazy. С шириной таких проблем как-раз кажется быть не должно. Но лучше всего просто взять да проверить.

Silent829- Автор вопроса

@andkulikov можно Вас попросить прокомментировать?

второй вариант более логичен, да. как и остальные заметили. стики хеадер скорей полезен когда таких хедеров несколько внутри списка, чтобы они сменялись когда доскролили до следующего хедера

Silent829
Вот кстати интересно- нужно ли задавать LazyColumn...

нет, явно ставить fillMaxSize() не обязательно. он итак не может занять размер больше чем доступно ему от его парента. fillMaxSize() нужен только чтобы описать должен ли LazyColumn занять весь размер даже если элементов меньше чем нужно чтобы заполнить все доступное место. так как дефолтное поведение это типа wrap_content

Silent829- Автор вопроса

А почему нельзя просто item использовать для титула перед items?

Silent829
он не будет статичным

А если у тебя заголовок который должен прилипнуть находится где то в середине item ов, как ты без stickyHeader это реализуешь?

Silent829- Автор вопроса

Похожие вопросы

Обсуждают сегодня

зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Желаю получить совет от великих ботмейкеров которые успешно поднимали ботов на несколько тысяч одновременно активных юзеров Какая чушь нужна людям прямо сейчас, и что стоило ...
ռɛ ʋɛʀʍօʀɛ
6
Но если Евгений и Алекс используют в боевых условиях, то почему нет? А ты как-то про бизнес больше задвигаешь, это имеет к разработке отношение, но все же этим больше другие л...
Keiman
5
кто тебе сказал, что она угроблена? многие только начинают жизнь, после увольнения из Гугла, Майкрософта, Оракла,...
Alex Kom
9
Окей, а продвигать эту шляпу как? Я ни разу ботов не двигал , ибо не делал ничего для себя толком🧐
ռɛ ʋɛʀʍօʀɛ
5
В альтернативе у нас сидеть горбатиться на дядю в галерах, пока не помрешь или пока тебя не заменят более молодым сотрудником, который готов гребсти в два раза дешевле. Вот и ...
Кабан Кабанов
7
Полного набора чего? ООП это инкапсуляция и полиморфизм, а не этот ваш синтаксический сахар
Yuri Volkov
8
И еще, я вчера чутка запутался, показы это типо рекламные посты или рассылки, а приветы?
Ilya Shvechikov
5
Карта сайта