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

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

Пробежал статью глазами и так и не понял, в чем суть.

У стандартного для андроида MaterialDesign описаны компоненты, которые тут ваяются, есть хорошо известные нативные способы реализации в верстке, функционал присутствует в каждом первом приложении. Что за OneUI, каким он тут вообще боком?!

Третья анимация вот тут примерно то же самое.
https://material.io/components/app-bars-top#behavior
По той же ссылке можно найти способ реализации и описание всех возможностей

Поздравляю, вы почти изобрели CollapsingToolbarLayout, который делает то же самое и даже лучше, но без единой строчки кода, только в xml. Даже с MotionLayout можно сделать такое же поведение с минимумом кода. По всей статье прослеживается очень много "плохих практик":

  • даже если делать такое поведение самостоятельно, то в данном случае лучше анимировать translationY контента, а не его topMargin, т.к. это приводит к re-layout/re-measure

  • запуск неконтролируемого потока для анимации при каждом touch up, хотя есть куча нативных инструментов для анимации

  • использование LinearLayout (вместо RecyclerView) для списка из элементов

  • необоснованный выбор min sdk аж 26 - в коде нет ничего, что требовало бы минимум эту версию

  • очень много мелких замечаний по коду и верстке, которые надоест тут описывать

Мне кажется или Вы только что изобрели Coordinator Layout?

неплохо выглядит. А что если внутрь надо засетить список, а не просто карточки? Мне кажется можно тогда вместо scrollview просто использовать recyclerview.

Да, использование RecyclerView будет более оптимизированным способом, однако, он гораздо сложнее в использовании. Необходимо создать отдельный класс с адаптером и т.д. + мы не знаем позицию скролла в RecyclerView (на столько же точную, как в ScrollView). Поэтому я решил, для первой версии Siesta использовать ScrollView - дабы кода было меньше, а понять было легче.

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

Публикации

Истории