import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; /// 企业微信 / 微信手机端配色。 const kInk = Color(0xFF191919); const kPaper = Color(0xFFEDEDED); const kBind = Color(0xFF267EF0); const kBind2 = Color(0xFF1A6FD4); const kWeGreen = Color(0xFF07C160); const kMute = Color(0xFF888888); const kLine = Color(0xFFE5E5E5); const kBubbleMine = Color(0xFFC9E7FF); const kDanger = Color(0xFFFA5151); const kHeader = Colors.white; ThemeData buildTheme() { const scheme = ColorScheme.light( primary: kBind, secondary: kBind2, surface: Colors.white, onPrimary: Colors.white, onSurface: kInk, ); return ThemeData( colorScheme: scheme, useMaterial3: true, scaffoldBackgroundColor: kPaper, splashFactory: NoSplash.splashFactory, highlightColor: const Color(0x14267EF0), pageTransitionsTheme: const PageTransitionsTheme( builders: { TargetPlatform.android: CupertinoPageTransitionsBuilder(), TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), TargetPlatform.linux: CupertinoPageTransitionsBuilder(), TargetPlatform.windows: CupertinoPageTransitionsBuilder(), }, ), fontFamily: null, appBarTheme: const AppBarTheme( backgroundColor: kHeader, foregroundColor: kInk, elevation: 0, scrolledUnderElevation: 0, centerTitle: true, titleTextStyle: TextStyle(color: kInk, fontSize: 17, fontWeight: FontWeight.w600), systemOverlayStyle: SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.dark, ), ), dividerColor: kLine, cardTheme: const CardThemeData( color: Colors.white, elevation: 0, margin: EdgeInsets.zero, shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8))), ), inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: Colors.white, hintStyle: const TextStyle(color: Color(0xFFB2B2B2), fontSize: 15), contentPadding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10), border: OutlineInputBorder(borderRadius: BorderRadius.circular(6), borderSide: BorderSide.none), enabledBorder: OutlineInputBorder(borderRadius: BorderRadius.circular(6), borderSide: BorderSide.none), focusedBorder: OutlineInputBorder(borderRadius: BorderRadius.circular(6), borderSide: const BorderSide(color: kBind)), ), filledButtonTheme: FilledButtonThemeData( style: FilledButton.styleFrom( backgroundColor: kBind, foregroundColor: Colors.white, elevation: 0, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)), ), ), ); }