Я пытаюсь создать пользовательский интерфейс для Android-приложения, содержащего вертикально прокручиваемую страницу горизонтально прокручиваемых каруселей (что-то вроде приложения Netflix). Как осуществляется этот тип поведения?
Основная реализация будет достаточной, чтобы начать меня. Есть еще несколько требований к пользовательскому интерфейсу, который я буду включать здесь для справки, поскольку это может повлиять на классы или библиотеки, которые я могу использовать.
1) Вертикальная прокрутка между каруселями должна быть гладкой, но когда пользователь отпускает, пользовательский интерфейс должен "привязать" к ближайшей карусели (так что пользователь всегда находится на карусельном ряду, а не между двумя каруселями).
2) Горизонтальная прокрутка на карусели должна быть гладкой, но когда пользователь выпускает, пользовательский интерфейс должен "привязать" к ближайшему элементу в карусели.
3) Должна быть возможность наложить дополнительную информацию по элементу в карусели
4) Пользовательский интерфейс должен быть адаптирован к любому размеру экрана.
5) Должна быть доступна для навигации с помощью клавиш со стрелками (для устройств с сенсорным экраном)
6) Должен работать в широком диапазоне версий Android (возможно, через библиотеку поддержки)
7) Должно быть нормально использовать в приложении с открытым исходным кодом, лицензированном в GPL
Приемлемые ответы НЕ должны отвечать всем этим требованиям. Как минимум, хороший ответ должен включать навигацию по нескольким каруселям (по сравнению с одной карусели).
Вот макет, в основном, то, что я представляю (я гибкий, не должен выглядеть так. point - просто пояснить, о чем я говорю - каждая строка будет содержать много элементы, которые можно прокручивать влево и вправо, а вся страница может быть прокручена вверх и вниз)