Skip to content

PassionPenguin/system_theme

 
 

Repository files navigation

system_theme

A flutter plugin to get the current system theme information

Supported platforms

Feature Android 10+ iOS Web MacOs 10.4+ Windows 10+ and XBox Linux GTK 3+
Get accent color ✔️ ✔️ ✔️ ✔️ ✔️
Get dark mode ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Usage

Import it:

import 'package:system_theme/system_theme.dart';

Get system accent color

Use the getter SystemTheme.accentInstance.accent to get the system accent color.

final accentColor = SystemTheme.accentInstance.accent;

To reload the accent colors, use the method load():

await SystemTheme.accentInstance.load();

You can load the colors before running the app, so the colors can't be wrong at runtime:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SystemTheme.accentInstance.load();
  runApp(MyApp());
}

Configure a fallback accent color

To avoid unexpected effects at runtime, it's good to configure a fallback color. A fallback color is used if the system was not able to provide the color

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  SystemTheme.fallbackColor = const Color(0xFF865432);
  await SystemTheme.accentInstance.load();

  runApp(MyApp());
}

Check dark mode

Use the getter SystemTheme.isDarkMode to check if the device is in dark mode.

final darkMode = SystemTheme.darkMode;

Contribution

Feel free to open an issue if you find an error or make pull requests.

Acknowlegments

About

A flutter plugin to get the current system theme info

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 61.9%
  • CMake 19.5%
  • Dart 7.8%
  • Swift 2.9%
  • Kotlin 2.6%
  • C 2.6%
  • Other 2.7%