我正在为 Android 和 iOS 编写一个 Flutter 应用程序,它将根据 iOS 的暗模式状态更改其样式/主题。
Flutter 中目前有类似 MediaQuery.isDarkModeEnabled 的东西吗?
这里有一个 GitHub 问题,但 Flutter 团队必须在问题上不堪重负,所以我看不到它会很快实现。
我可以使用 iOS 特定代码通道中的“traitCollection.userInterfaceStyle”,但是为 Flutter/Dart 应用程序添加特定于平台的代码并不是我所经历的。目前正在研究这个解决方案!
例如,有人可能有一个CupertinoPicker
自适应颜色:
CupertinoPicker(
backgroundColor: isDarkModeEnabled ? Colors.black : Colors.white,
children: items.map((thisItem) => Text(thisItem.name)).toList(),
itemExtent: 32,
onSelectedItemChanged: (newItem) {
setState(() => this.item = items[newItem]);
}
)