Как стать автором
Обновить

Комментарии 8

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

Но что насчёт ремемберинга картинок? Сколько бы не пытался следовать гайдлайнам, картинка каждый раз читается. То есть не кешируется, как в ресайклере. Из-за чего на экранах со множеством больших картинок возникают лаги при скролле.

С этой проблемой как-то боретесь? Я видел решение в виде специальной либы Coil, но оно не KMM, поэтому нежелательно...

А насчёт костыля со sticky header как футером - нее, всё таки не стоит так делать, это очень сложно потом поддерживать. Тут либо сделать своё решение (исходники компоуза открыты), либо взять чужую либу (думаю должна быть).

Пробовали для списков использовать иммутабельные коллекции от джетбрейнс? По дефолту List это нестабильный тип и из-за него может происходить рекомпозиция лишний раз. Либо заменить на PersistentList, либо попробовать вьюстейт пометить аннотацией Stable или Immutable (если в целом там находятся нестабильные типы данных).
По поводу костыля - полностью согласен, но порой, у каждого возникают ситуации, когда приходится делать то, чего не очень хочется, особенно когда поджимают сроки :). Тут скорее просто забавный факт, что оно работает вот таким образом, если список перевернут.

Уже нет смысла использовать имутабельные коллекции. Теперь можно указать Compose через настройку какие классы будут стабильными, про чем глобально для всего проекта. то есть указывать аннотацию @Stable для всех моделек уже можно не надо

Coil вроде бы в третьей версии уже поддерживает мультиплатформу, правда он ещё в альфе

Чтобы сделать кнопку как в третьем случае, можно использовать floatingActionButton у Scaffold'а.

Upd: Или же просто box с фиксированной внутри кнопкой. Со вложенными Scaffold иногда проблемы.

Приведённые вами примеры не будут работать как задумано автором - при скроле до позиции кнопки она не встроиться в интерфейс и не начнёт скролится вместе со всеми элементами

Интересные наблюдения, спасибо! А вот подчёркивания ошибок лично меня заставляют испытывать страдания при чтении (

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории