Flutter 获取系统是否是暗黑模式的方式

有两种方式可以获取到

1. 不使用Context

复制代码
final brightness = SchedulerBinding.instance.platformDispatcher.platformBrightness;
bool isDarkMode = brightness == Brightness.dark;

注意!如果是在程序入口使用,需要加上下面语句

复制代码
WidgetsFlutterBinding.ensureInitialized(); 

2. 使用Context

复制代码
final brightness = MediaQuery.of(context).platformBrightness;
bool isDarkMode = brightness == Brightness.dark;

OR

复制代码
final brightness = View.of(context).platformDispatcher.platformBrightness;
bool isDarkMode = brightness == Brightness.dark;
相关推荐
好的佩奇33 分钟前
Dart 之扩展方法
android·flutter·dart
好的佩奇3 小时前
蓝牙之经典蓝牙
android·flutter·蓝牙
传奇开心果编程5 小时前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
Nerd(BUG版)1 天前
Flutter学习day5--事件手势与命中测试
学习·flutter
传奇开心果1 天前
【Flutter踩坑排雷】第5课:扩展方法冲突坑|同名扩展引发编译歧义,故障规避手段
android·flutter
雪铃儿2 天前
Flutter 双端热更新新方案:基于 Dart 官方动态模块的 flutter_patcher 1.0.0
flutter·hotfix
好的佩奇2 天前
Dart 之方法、操作符与可调用对象
android·flutter·dart
恋猫de小郭2 天前
Flutter Impeller Vulkan 内存持续上涨,问题没想到是文字阴影
android·前端·flutter
传奇开心果3 天前
【Flutter踩坑排雷】第3课:const 误用坑|const 错误使用引发 UI 异常与性能损耗
android·flutter