Android QでFlutterを使用してダークモードが有効になっているかどうかを確認するにはどうすればよいですか?
ダークモードの設定方法は知っていますが、背景のテーマを確認する方法が見つかりませんでした。
ダークテーマを設定するコードは次のとおりです。
darkTheme: ThemeData.dark(),
私は道を見つけました。ここにあります。
bool _darkModeEnabled = false;
void _checkIfDarkModeEnabled() {
final ThemeData theme = Theme.of(context);
theme.brightness == appDarkTheme().brightness
? _darkModeEnabled = true
: _darkModeEnabled = false;
}
MediaQuery
を使用して確認できます。
var brightness = MediaQuery.of(context).platformBrightness;
if (brightness == Brightness.dark)
print("Dark mode");
else
print("Normal mode");
MaterialApp
でダークテーマを定義すると、Android Qダークテーマが有効になっている場合、アプリは自動的にダークになります。ダークテーマを次のように指定する必要があります。
MaterialApp(
theme: ThemeData(
brightness: Brightness.light,
primaryColor: Colors.red,
),
darkTheme: ThemeData(
brightness: Brightness.dark,
),
);
この中記事 によると、
システムドロワーでダークテーマを切り替えると、Flutterアプリが通常のテーマからダークテーマに自動的に切り替わります。
ただし、ダークモードになっているかどうかを手動で確認する場合は、プラットフォームチャネルAPIを使用して簡単にメソッドを記述できます。詳細 こちら 。ネイティブコードは ここをチェック 。