Мастер-класс по анимации во Flutter. Видео-курс
Освойте анимацию Flutter и узнайте, как создавать приложения, которые ярко выделяются!
Содержание курса
Этот бесплатный курс на русском языке состоит из 10 независимых модулей, каждый из которых имеет определенную цель обучения тонкостям работы с анимацией во Флаттер (Flutter).
Рассматриваемые темы и концепции
1. Введение и неявная анимация (Implicit Animations)
- План курса и ресурсы
- Введение в анимацию
- Загрузите проект анимационной игровой площадки
- Неявная анимация с помощью AnimatedContainer
- [Упражнение] AnimatedOpacity
- Кривые анимации
- Введение в TweenAnimationBuilder
- Анимация цветов HSV с помощью TweenAnimationBuilder
- Подведение итогов по неявным анимациям
2. Проблема пользовательского интерфейса: приложение для секундомера
- Введение в модуль
- Начальный проект для приложения Секундомер (Stopwatch app)
- Темный режим и пользовательское наложение пользовательского интерфейса системы
- Создание периодического таймера
- Tickerи- TickerProvider
- Создание отдельного StopwatchRendererвиджета
- Настройка пользовательского интерфейса секундомера с помощью AspectRatio
- Матричные преобразования
- Получение радиуса окружности из LayoutBuilder
- Реализация анимированной часовой стрелки
- Завершение интерфейса секундомера (часть 1)
- Завершение пользовательского интерфейса секундомера (часть 2)
- Добавление функций запуска / остановки / сброса (часть 1)
- Добавление функций запуска / остановки / сброса (часть 2)
- Соображения по производительности и тестированию при работе с тикерами!
3. Обзор приложения для отслеживания привычек
- Приложение для отслеживания привычек: введение (Habit Tracker app)
- Загрузите начальный проект
- Правила линтинга
- Пошаговое руководство по коду: ресурсы проекта
- Пошаговое руководство по коду: цвета и тематизация
4. Явная анимация
- Вводный модуль и начальный проект
- Кольцо завершения задачи: техническое планирование
- Введение в CustomPainter
- Рисование кольца завершения задачи с помощью холста
- Введение в явную анимацию (Explicit Animations) с AnimationController
- Анимированное кольцо завершения задачи с AnimationControllerиAnimatedBuilder
- Управление анимацией с помощью GestureDetector
- Добавление значка SVG по центру к анимированной задаче
- Настройки пользовательского интерфейса для завершения задачи
- Состояние завершения задачи и окончательные настройки
- Исправлена ошибка: обработка жестов отмены нажатия
- Добавление имени задачи
- Организация нескольких задач внутри GridView
- Законченный проект и подведение итогов
5. Сохранение локальных данных с помощью Hive
- Введение модуля
- Техническое планирование: локальное (Local Data) или удаленное хранилище
- Обзор начального проекта
- Введение в Hive
- Создание классов моделей с помощью Hive
- Создание адаптера типов с генерацией кода
- Создание HiveDataStore
- Создание демонстрационных задач внутри main()
- Создание уникальных идентификаторов задач с помощью пакета uuid
- Чтение заданий с ValueListenableBuilder
- Подведение итогов
6. Управление состоянием с помощью Riverpod
- Вводный модуль и начальный проект
- Знакомство с Riverpod
- Создание и использование хранилища данных Providerс помощьюConsumer
- Зависимость переопределяется с помощью ProviderScope
- TaskStateмоделирование данных
- Создание и использование TaskStateкласса модели Hive
- Добавление onCompletedобратного вызова кAnimatedTaskвиджету
- Создание TaskWithNameLoader
- Завершение + использование инспектора виджетов
7. Анимация перелистывания страницы
- Введение модуля: переход с переворота страницы
- Начальный проект и пошаговое руководство
- Разработка API-интерфейса виджета Page Flip с помощью WidgetBuilders
- Использование a GlobalKeyдля изменения состояния дочернего виджета
- AnimationControllerнастройка
- AnimatedBuilderпротив- AnimatedWidget
- Код поворота с TransformиMatrix4
- Интерактивный переход с одной страницы на другую
- Виджеты, элементы и клавиши
- Дополнительная задача: игра с переворачиванием карт
8. Расширенная тематизация
- Введение к модулю: Расширенная тематизация (Theming)
- Начальный проект и пошаговое руководство
- Показ нижних панелей
- Создание SlidingPanelAnimator
- Использование SlidingPanelAnimator
- Анимация раздвижных панелей
- Управление изменениями состояния темы приложения: обзор
- Реализация класса AppThemeManagerс помощьюStateNotifier
- Создание и использование поставщиков AppThemeManager
- Применение настроек AppThemeSettings
- Расширенное анимированное тематическое оформление с помощью ImplicitlyAnimatedWidget
9. Более явная анимация
- Вводный модуль
- Начальный проект и пошаговое руководство
- Управление анимацией в виджете TasksGrid
- Добавление подкласса AnimatedWidget для масштабирования виджетов
- Пошаговая анимация
- Добавление виджета AddTaskItem
- Анимация плавного перехода с помощью виджета непрозрачности
- Явная анимация с переходом на затухание и масштабированием
- Обзор: встроенный переход против неявно анимированных виджетов во Flutter
- Исправлена ошибка: отключение завершения задачи в режиме редактирования
10. Добавление и редактирование задач
- Введение в модуль: Добавление и редактирование задач
- Переход к страницам добавления задачи и редактирования задачи
- Обзор: AddTaskPageс помощью slivers
- Обзор: TaskDetailsPageиSelectIconPage
- Обзор: адаптация
- Заключение и следующие шаги
Дополнительные ресурсы
Полезные ресурсы из документации Flutter
- Введение в анимацию | Flutter.dev
- Неявная анимация Codelab | Flutter.dev
- Учебное пособие по анимации | Flutter.dev
- Виджеты анимации и движения | Flutter.dev
- Уменьшить скачок компиляции шейдеров на мобильных устройствах | Flutter.dev
Смотреть видео-курс
Часть 1:
Часть 2:
Часть 3:
Часть 4:
Часть 5:
Часть 6:
Часть 7: