私は、AndroidおよびiOS用のFlutterアプリを作成しています。これは、iOSのダークモードステータスに基づいてスタイル/テーマを変更します。
現在FlutterにMediaQuery.isDarkModeEnabledのようなものはありますか?
GitHubの問題が未解決です here ですが、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]);
}
)
実際にはマスターチャネルでは使用できません。以下をご覧ください https://github.com/flutter/flutter/issues/39685