Экосистема Flutter действительно хороша для создания высококачественных приложений с множеством функций. Управление состоянием - один из важных аспектов высокого качества, и это всегда сложная задача для каждого разработчика программного обеспечения, независимо от типа создаваемого им приложения. Управление состоянием становится более сложным по мере увеличения сложности приложения. Во Flutter у нас есть опция BLoC (Business Logic Component) для чистого и элегантного управления состоянием.
Шаблон BLoC - очень надежный метод управления состоянием, поскольку он использует потоки в качестве ядра, и совсем не сложно реализовать BLoC в любом приложении. Динамическая тема означает изменение темы приложения в зависимости от предпочтений пользователя во время выполнения. Этот метод используется для удобного взаимодействия с пользователем, поскольку у пользователя всегда есть выбор переключить тему. Когда мы говорим о шаблоне BLoC во Flutter, на ум приходят 3 вещи:
- StreamController
- Транслировать
- Раковина
Если вы не знакомы с потоками и шаблоном BLoC, то я бы порекомендовал вам изучить их на этом ресурсе.
Прежде всего, мы создадим новый файл в папке lib для логики BLoC. Этот файл будет содержать логическую часть (основное ядро логики шаблона BLoC), необходимую для нашего приложения.
Здесь мы создаем StreamController типа bool, потому что мы хотим передать логические данные в наш поток. После этого мы реализуем функции changeTheme () и darkThemeIsEnabled (), используя приемник и поток соответственно.
В файле home_page.dart мы просто создаем каркас, а внутри этого каркаса мы просто визуализируем список со случайными изображениями на плитке списка. Данные представлены в демонстрационных целях. Создается ящик и дается переключатель для переключения между светлой и темной темой.
Теперь, когда все эти файлы созданы, нам необходимо настроить файл main.dart для запуска приложения соответствующим образом. Вот файл main.dart.
В файле main.dart мы используем виджет StreamBuilder для работы с потоками, которые появляются из-за шаблона BLoC.
Вот скриншоты созданного нами приложения.
Это демонстрационное приложение, которое может быть реализовано для выполнения динамического поведения темы в вашем приложении с использованием шаблона BLoC для управления состоянием. Функциональность динамической темы обеспечивает хорошее взаимодействие с пользователем, поскольку у пользователя есть собственный выбор, чтобы переключаться между различными цветовыми темами.
Заключительные слова
Динамическая тема всегда удобна для пользователя, и поэтому действительно здорово реализовывать динамическую тему в приложениях. Шаблон BLoC - это очень надежный метод управления состоянием при флаттере, который можно использовать для масштабирования любого приложения на любом уровне. Итак, мы можем использовать шаблон BLoC для управления состоянием, а также для реализации динамических тем.
Прощай!!!