Этот проект - набор программных компонент для создания Android-приложения, разработанный в рамках ВКР.
Для этого проекта написана документация
main-screen-show-case.mp4
Используется пагинация данных, изображения и их ключи страниц сохраняются в БД
Для главного экрана используются компоненты:
AnimatedAsyncImage
обертка надAsyncImage
, добавляющая плейсхолдер во время загрузки изображений и анимацию появления.UnsplashRemoteMediator
- кастомныйRemoteMediator
для пагинации, использующий Paging3, постраничное сохранение ключей для страниц и изображений в БД.CircleRevealPager
для анимации постраничного пееключения изображенийSortOrderMenu
для изменения варианта сортировкиAnimatedBottomNavigation
- нижняя панель навигации
search-bar.mp4
Функционал аналогичен главному экрану. Но изображения не сохраняются в БД.
Для экрана экрана поиска используются компоненты:
SwipeActions
(поисковое предложение) для добавления кастомногоSwipeToDismiss
. Свайп можно настроить на 2 направления, которые могут работать одновременно (start-to-end, end-to-start)- Настроенный
SearchBar
- Для рекомендации подсказок используется Room и Flow
AnimatedAsyncImage
- для оторбражения изображенийSearchPagingSource
- кастомныйPagingSource
для пагинации данных без сохранения изображений в бдSortOrderMenu
details-screen.mp4
Для этого экрана используются:
AnimatedAsyncImage
- Intent для открытия браузера.