web-dev-qa-db-ja.com

Flutter / DartからiOS13ダークモードが有効になっているかどうかを検出する

私は、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]);
    }
)
11
iron59

実際にはマスターチャネルでは使用できません。以下をご覧ください https://github.com/flutter/flutter/issues/39685

0
acuedd