mobile_skt/lib/app_theme.dart

67 lines
2.4 KiB
Dart
Raw Normal View History

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(),
);
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);
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,
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),
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), // 选中时的边框颜色和宽度
),
),
);