0

Below mentioned code is theme changes. can any one please tell me where i'm going wrong. The problem is -> when i get the app color codes from the custom common class it's not working but if i put it directly when it needed it is working. this is the issue.

`
    GetMaterialApp(
      debugShowCheckedModeBanner = false,
      title = "",
      themeMode = Utils.isDarkMode() ? ThemeMode.dark : ThemeMode.light,
      darkTheme = AppThemes.darkThemeData,
      initialRoute = AppPages.INITIAL,
      theme = AppThemes.lightThemeData,
      getPages = AppPages.routes,
    )

    class AppThemes {
      static const Color _lightFocusColor = Color(0xFFFFFFFF);
      static const Color _darkFocusColor = Color(0xFF181A1F);

      static ThemeData lightThemeData =
          themeData(lightColorScheme, _lightFocusColor, true);
      static ThemeData darkThemeData =
          themeData(darkColorScheme, _darkFocusColor, false);

      static ThemeData themeData(
          ColorScheme colorScheme, Color focusColor, bool isLight) {
        return ThemeData(
          colorScheme: colorScheme,
          brightness: colorScheme.brightness,
          appBarTheme: AppBarTheme(
            color: colorScheme.primary,
            elevation: 0,
            systemOverlayStyle: SystemUiOverlayStyle(
              statusBarColor: colorScheme.background,
              systemNavigationBarColor: colorScheme.background,
              statusBarBrightness: colorScheme.brightness,
              statusBarIconBrightness: colorScheme.brightness,
              systemNavigationBarIconBrightness: colorScheme.brightness,
            ),    
          ),
          primaryColor: colorScheme.primary,
          iconTheme: IconThemeData(color: colorScheme.onPrimary),
          canvasColor: colorScheme.background,
          scaffoldBackgroundColor: colorScheme.background,
          highlightColor: Colors.transparent,
          focusColor: focusColor,
          textTheme: textTheme,
          buttonTheme: buttonThemeData,
          elevatedButtonTheme: elevatedThemeData,
        );
      }

    static const ColorScheme lightColorScheme = ColorScheme(
        background: Color(0xFFFFFFFF),
        onBackground: Color(0xFFFFFFFF),
        surface: Colors.transparent,
        onSurface: Colors.transparent,
        primary: Color(0xFFF5484A),
        onPrimary: Color(0xFFF5484A),
        secondary: Color(0xFFF5484A),
        onSecondary: Color(0xFFF5484A),
        error: Colors.red,
        onError: Colors.white,
        brightness: Brightness.light,
      );

    static const ColorScheme darkColorScheme = ColorScheme(
        background: Color(0xFF181A1F),
        onBackground: Color(0xFF181A1F),
        surface: Colors.transparent,
        onSurface: Colors.transparent,
        primary: Color(0xFFF5484A),
        onPrimary: Color(0xFFF5484A),
        secondary: Color(0xFFF5484A),
        onSecondary: Color(0xFFF5484A),
        error: Colors.red,
        onError: Colors.white,
        brightness: Brightness.dark,
      );
    }

    TextTheme textTheme = TextTheme(
    displayLarge: TextStyle(
        fontSize: 24.sp,
        color: AppColors.textLargeColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
     headlineLarge: TextStyle(
        fontSize: 24.sp,
        color: AppColors.textLargeColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
  //
    bodyLarge: TextStyle(
        fontSize: 16.sp,
        color: AppColors.textBodyLargeColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
    labelLarge: TextStyle(
        fontSize: 16.sp,
        color: AppColors.textBodyLargeColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
 
      labelMedium: TextStyle(
        fontSize: 14.sp,
        color: AppColors.textDescriptionColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
      bodyMedium: TextStyle(
        fontSize: 14.sp,
        color: AppColors.textDescriptionColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
      labelSmall: TextStyle(
        fontSize: 12.sp,
        color: AppColors.textDescriptionColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
    bodySmall: TextStyle(
        fontSize: 10.sp,
        color: AppColors.textDescriptionColor,
        decoration: TextDecoration.none,
        fontFamily: Config.fontName,
      ),
    );
`



Below code is the where app theme is changing.

 final themeData = controller.isDarkMode.value
      ? AppThemes.darkThemeData
      : AppThemes.lightThemeData;
      Get.changeTheme(themeData);
      final theme = controller.isDarkMode.value
        ? ThemeMode.dark
        : ThemeMode.light;
      Get.changeThemeMode(theme);
      update();

0 Answers0