Flutter

[Flutter] light, dark 테마 확인 방법

개발짜 2024. 11. 18. 16:46

Flutter 에서 제공하는 ThemeData 를 이용해서 light 와 dark 테마를 지정하는 방법은 많이 나와있으나,
현재 테마 모드를 확인하는 방법은 잘 안나와있는 거 같다.

 

ThemeData 에서 brightness 를 설정하고 

final lightTheme = ThemeData(
  useMaterial3: true,
  colorScheme: ColorScheme.fromSeed(
    seedColor: Colors.purple,
    brightness: Brightness.light,
  ),
);

final darkTheme = ThemeData(
  useMaterial3: true,
  colorScheme: ColorScheme.fromSeed(
    seedColor: Colors.purple,
    brightness: Brightness.dark,
  ),
);

 

테마 모드를 확인하려는 곳에서 brightness 값을 확인한다.

var brightness = Theme.of(context).brightness;
bool isLightMode = brightness == Brightness.light;

 

참고: https://stackoverflow.com/questions/56304215/how-to-check-if-dark-mode-is-enabled-on-ios-android-using-flutter

 

How to check if dark mode is enabled on iOS/Android using Flutter?

How can I check if dark mode is enabled in Android Q with Flutter? I know how to set the dark mode, but I didn't find a way to check the background theme. Here is the code to set the dark theme.

stackoverflow.com