import 'package:flutter/material.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class AppTheme { AppTheme._(); static const Color primaryColor = Color(0xFFC89607); static const Color primaryColorLight = Color.fromARGB(255, 255, 206, 70); static const Color primaryColorDark = Color.fromARGB(255, 163, 120, 0); static const Color primaryTextColorWithBg = Color(0x00000000); static const Color secondPrimaryColor = Color(0xFFc12a3a); static const Color secondPrimaryColorLight = Color.fromARGB(255, 230, 79, 94); static const Color secondPrimaryColorDark = Color.fromARGB(255, 141, 12, 25); static const Color secondPrimaryTextColorWithBg = Color(0xFFFFFFFF); static const Color white = Color(0xFFFFFFFF); static const Color nearlyWhite = Color(0xFFFEFEFE); static const Color black = Color(0xFF000000); static const Color nearlyBlack = Color(0xFF213333); static const Color grey = Color.fromARGB(255, 138, 138, 138); static const Color snackbarErrorBackgroudColor = Colors.red; static const Color snackbarSuccessBackgroudColor = Colors.green; static const Color snackbarWarningBackgroudColor = Colors.orange; static Color barrierColor = Colors.black.withOpacity(0.5); static const String fontName = 'NotoSans'; static const Color activeNavigationBarColor = primaryColor; static const Color notActiveNavigationBarColor = Colors.grey; static const Color dangerColor = Colors.red; static const Color dividerColor = Color.fromARGB(255, 224, 224, 224); static const Color appbarBgColor = AppTheme.primaryColor; static const Color scaffoldBackgroundColor = Color(0XFFe9f0fd); static const Color inputFillColor = Color(0xFFf5f8ff); } final theme = ThemeData( platform: TargetPlatform.iOS, primarySwatch: MaterialColor(AppTheme.primaryColor.value, const { 50: AppTheme.primaryColorLight, 100: AppTheme.primaryColorLight, 200: AppTheme.primaryColorLight, 300: AppTheme.primaryColorLight, 400: AppTheme.primaryColorLight, 500: AppTheme.primaryColor, 600: AppTheme.primaryColorDark, 700: AppTheme.primaryColorDark, 800: AppTheme.primaryColorDark, 900: AppTheme.primaryColorDark, }), primaryColorLight: AppTheme.primaryColorLight, fontFamily: AppTheme.fontName, textButtonTheme: TextButtonThemeData( style: ButtonStyle( foregroundColor: MaterialStateProperty.all(AppTheme.primaryColor), // 设置文本颜色为红色 )), floatingActionButtonTheme: FloatingActionButtonThemeData( backgroundColor: AppTheme.primaryColorLight, ), datePickerTheme: DatePickerThemeData( confirmButtonStyle: ButtonStyle( textStyle: MaterialStateProperty.resolveWith( (Set states) { return const TextStyle(color: AppTheme.primaryColor); }, ), ), todayBorder: const BorderSide(color: AppTheme.primaryColor), todayBackgroundColor: MaterialStateProperty.resolveWith( (Set states) { if (states.contains(MaterialState.selected)) { return AppTheme.primaryColor; } return null; }, ), // rangeSelectionBackgroundColor: AppTheme.primaryColor, dayBackgroundColor: MaterialStateProperty.resolveWith( (Set states) { if (states.contains(MaterialState.selected)) { return AppTheme.primaryColor; } return null; }, ), ), visualDensity: VisualDensity.adaptivePlatformDensity, primaryColor: AppTheme.primaryColor, primaryColorDark: AppTheme.primaryColorDark, progressIndicatorTheme: const ProgressIndicatorThemeData(color: AppTheme.primaryColor), dividerColor: AppTheme.dividerColor, cardColor: AppTheme.white, scaffoldBackgroundColor: AppTheme.scaffoldBackgroundColor, bottomNavigationBarTheme: BottomNavigationBarThemeData( backgroundColor: AppTheme.nearlyWhite, unselectedLabelStyle: TextStyle(fontSize: ScreenAdaper.height(20)), selectedLabelStyle: TextStyle(fontSize: ScreenAdaper.height(20)), selectedItemColor: AppTheme.primaryColor), tabBarTheme: const TabBarTheme( indicator: BoxDecoration( border: Border(bottom: BorderSide(width: 3, color: AppTheme.primaryColorDark)), )), textSelectionTheme: const TextSelectionThemeData( selectionHandleColor: AppTheme.primaryColorLight, cursorColor: AppTheme.primaryColorLight, // 这里是你想要的颜色 ), appBarTheme: AppBarTheme( centerTitle: true, iconTheme: const IconThemeData(color: Colors.white), backgroundColor: AppTheme.appbarBgColor, titleTextStyle: TextStyle( color: Colors.white, fontSize: ScreenAdaper.height(30), fontWeight: FontWeight.bold), ), inputDecorationTheme: InputDecorationTheme( floatingLabelStyle: TextStyle( color: AppTheme.primaryColor, fontSize: ScreenAdaper.height(30), ), hintStyle: TextStyle( color: AppTheme.grey, fontSize: ScreenAdaper.height(25), ), fillColor: Colors.transparent, filled: true, labelStyle: TextStyle( fontSize: ScreenAdaper.height(25), ), border: OutlineInputBorder( borderRadius: BorderRadius.circular(ScreenAdaper.sp(15))), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(ScreenAdaper.sp(15)), borderSide: const BorderSide( color: AppTheme.primaryColorLight, width: 2), // 选中时的边框颜色和宽度 ), ), );