2024-03-18 13:23:58 +08:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:sk_base_mobile/util/screen_adaper_util.dart';
|
|
|
|
|
|
|
|
class AppTheme {
|
|
|
|
AppTheme._();
|
2024-03-18 15:54:06 +08:00
|
|
|
static const Color primaryColor = Color(0xFFC89607);
|
|
|
|
static Color primaryColorLight = primaryColor.withOpacity(0.7);
|
|
|
|
static Color primaryColorDark = Color.fromRGBO(
|
|
|
|
primaryColor.red,
|
|
|
|
primaryColor.green,
|
|
|
|
primaryColor.blue,
|
|
|
|
1 - primaryColor.computeLuminance(),
|
|
|
|
);
|
2024-03-18 13:23:58 +08:00
|
|
|
static const Color white = Color(0xFFFFFFFF);
|
2024-03-18 15:54:06 +08:00
|
|
|
static const Color nearlyWhite = Color(0xFFFEFEFE);
|
|
|
|
static const Color black = Color(0xFF000000);
|
2024-03-18 13:23:58 +08:00
|
|
|
static const Color nearlyBlack = Color(0xFF213333);
|
|
|
|
static const Color grey = Color(0xFF3A5160);
|
|
|
|
static const Color snackbarErrorBackgroudColor = Colors.red;
|
|
|
|
static const Color snackbarSuccessBackgroudColor = Colors.green;
|
|
|
|
static const Color snackbarWarningBackgroudColor = Colors.orange;
|
|
|
|
static const Color dismissibleBackground = Color(0xFF364A54);
|
|
|
|
static const String fontName = 'NotoSans';
|
|
|
|
}
|
|
|
|
|
|
|
|
final theme = ThemeData(
|
|
|
|
fontFamily: AppTheme.fontName,
|
|
|
|
visualDensity: VisualDensity.adaptivePlatformDensity,
|
|
|
|
primaryColor: AppTheme.primaryColor,
|
|
|
|
primaryColorDark: AppTheme.primaryColorDark,
|
|
|
|
progressIndicatorTheme:
|
2024-03-18 15:54:06 +08:00
|
|
|
const ProgressIndicatorThemeData(color: AppTheme.primaryColor),
|
|
|
|
dividerColor: AppTheme.grey,
|
|
|
|
cardColor: AppTheme.white,
|
|
|
|
scaffoldBackgroundColor: AppTheme.nearlyWhite,
|
2024-03-18 13:23:58 +08:00
|
|
|
tabBarTheme: TabBarTheme(
|
|
|
|
indicator: BoxDecoration(
|
|
|
|
border:
|
|
|
|
Border(bottom: BorderSide(width: 3, color: AppTheme.primaryColorDark)),
|
|
|
|
)),
|
|
|
|
appBarTheme: AppBarTheme(
|
|
|
|
centerTitle: true,
|
2024-03-18 15:54:06 +08:00
|
|
|
iconTheme: const IconThemeData(color: Colors.black),
|
2024-03-18 13:23:58 +08:00
|
|
|
backgroundColor: AppTheme.primaryColor,
|
|
|
|
titleTextStyle: TextStyle(
|
|
|
|
color: Colors.black,
|
|
|
|
fontSize: ScreenAdaper.sp(20),
|
|
|
|
fontWeight: FontWeight.bold),
|
|
|
|
),
|
2024-03-18 15:54:06 +08:00
|
|
|
inputDecorationTheme: InputDecorationTheme(
|
|
|
|
floatingLabelStyle: TextStyle(
|
|
|
|
color: AppTheme.primaryColor,
|
|
|
|
fontSize: ScreenAdaper.sp(30),
|
|
|
|
),
|
|
|
|
labelStyle: TextStyle(
|
|
|
|
fontSize: ScreenAdaper.sp(25),
|
|
|
|
),
|
|
|
|
border: OutlineInputBorder(
|
|
|
|
borderRadius: BorderRadius.circular(ScreenAdaper.sp(15))),
|
|
|
|
focusedBorder: OutlineInputBorder(
|
|
|
|
borderRadius: BorderRadius.circular(ScreenAdaper.sp(15)),
|
|
|
|
borderSide: BorderSide(
|
|
|
|
color: AppTheme.primaryColorLight, width: 2), // 选中时的边框颜色和宽度
|
|
|
|
),
|
|
|
|
),
|
2024-03-18 13:23:58 +08:00
|
|
|
);
|