Comments 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 - дабы кода было меньше, а понять было легче.
One UI своими руками в домашних условиях