Домашнее задание Flutter. Анимация. Implicit animation widgets. Low-level animation Цель: Цель домашнего задания - получить навык работы с custom widgets. Кроме того, студент получит навык работы с высокоуровневыми виджетами типа AnimatedWidget. А также навык работы с графическими примитивами, CustomPaint widget, ClipPath и анимациями . Потребуется: Анимировать какой-нибудь элемент из страницы коктейля, написав свой custom AnimatedWidget (Thumb Image, кнопку "В избранное" - IsFavourite). Переписать ранее использованный Progress bar согласно требованию “заказчика” - делаем отрисовку progress bar напрямую, используя примитивы рисования и Canvas. Будет предоставлено описание требований к анимации определенных элементов на экране описания Коктейля - Склонировать github репозиторий с заготовкой проекта - Открыть класс экрана CocktailDetailsScreen - Внести верстку в метод build(context) (в коде проекта будут комментарии /// TODO: ), используя виджеты и классы, используемые на предыдущих уроках из модуля Анимация На усмотрение студента: - Можно использовать любые виджеты из Flutter SDK, но не стоит использовать сторонние пакеты - Можно выполнить любую декомпозицию метода build для упрощения верстки и улучшения читаемости кода (рефакторинг) Форма сдачи: - ДЗ Сдается в виде ссылки на github репозиторий с проектом - В readme.md прикладываются скриншоты запущенного приложения с заданным экраном с реализованной анимацией и реализацией progress bar (в эмуляторе или с реального устройства) Куда сдать ДЗ: - Отправляется напрямую в ЛК Куда и кому задавать вопросы, если они возникнут - По всем вопросам можно обращаться в Slack к студентам, преподавателям в канал группы Критерии оценки: Критерии оценки: - Анимация заданного элемента работает - 4 балла - Есть работающая реализация виджета ProgressBar (ProgressIndicator) - 4 балла - Нет ошибок (errors & warnings & infos) от dart analyzer - 3 балла - Код декомпозирован с использованием отдельных виджетов и вспомогательных классов (конкретные реализации CustomClipper, CustomPainter, AnimatedWidget, Transition) - 3 балла Статус "Принято" ставится от 8 баллов.