web-dev-qa-db-ja.com

フラッターにダークモードを実装する方法

アプリ内のスイッチで変化する2つの明暗モードのテーマがあり、デフォルトのテーマがデフォルトAndroidテーマです。
カスタムカラーを仲間のウィジェットに渡す必要があり、マテリアルテーマを設定するだけではいいのではありません。

  • ユーザーデバイスのデフォルトテーマを検出するにはどうすればよいですか?
  • セカンドの質問は、アプリ全体にテーマを提供する方法ですか?
  • 3つ目は、実行時に簡単なスイッチでテーマを変更する方法です。
5
javad bat
MaterialApp(
      title: 'App Title',
      theme: ThemeData(
        brightness: Brightness.light,
        /* light theme settings */
      ),
      darkTheme: ThemeData(
        brightness: Brightness.dark,
        /* dark theme settings */
      ),
      themeMode: ThemeMode.dark, 
      /* ThemeMode.system to follow system theme, 
         ThemeMode.light for light theme, 
         ThemeMode.dark for dark theme
      */
      debugShowCheckedModeBanner: false,
      home: YourAppHomepage(),
    );

scoped_model を使用してシームレスなエクスペリエンスを実現できます。

1
Raj Yadav