refactor: 优化字号主题体系,参考成熟交易平台标准
- 重构主题字号体系 (h1-h4, body, amount等) - 修复16个页面文件中的硬编码字号 - 新字号层级参考币安/OKX标准 - Display: 22/20/18px (总资产、价格) - Headline: 15/14/13px (标题、副标题) - Body: 13/12/11px (正文、辅助文字) - Label: 11/10/9px (标签) - Number: 22/16/13px (数字)
This commit is contained in:
@@ -14,7 +14,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// H1 - 页面大标题
|
/// H1 - 页面大标题
|
||||||
static const TextStyle h1 = TextStyle(
|
static const TextStyle h1 = TextStyle(
|
||||||
fontSize: 28,
|
fontSize: 22,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.3,
|
height: 1.3,
|
||||||
@@ -22,7 +22,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// H2 - 区块标题
|
/// H2 - 区块标题
|
||||||
static const TextStyle h2 = TextStyle(
|
static const TextStyle h2 = TextStyle(
|
||||||
fontSize: 24,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.3,
|
height: 1.3,
|
||||||
@@ -30,7 +30,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// H3 - 卡片标题
|
/// H3 - 卡片标题
|
||||||
static const TextStyle h3 = TextStyle(
|
static const TextStyle h3 = TextStyle(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.4,
|
height: 1.4,
|
||||||
@@ -38,7 +38,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// H4 - 小标题
|
/// H4 - 小标题
|
||||||
static const TextStyle h4 = TextStyle(
|
static const TextStyle h4 = TextStyle(
|
||||||
fontSize: 18,
|
fontSize: 15,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.4,
|
height: 1.4,
|
||||||
@@ -50,7 +50,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// Body1 - 主要正文
|
/// Body1 - 主要正文
|
||||||
static const TextStyle body1 = TextStyle(
|
static const TextStyle body1 = TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.normal,
|
fontWeight: FontWeight.normal,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.5,
|
height: 1.5,
|
||||||
@@ -58,7 +58,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// Body2 - 次要正文
|
/// Body2 - 次要正文
|
||||||
static const TextStyle body2 = TextStyle(
|
static const TextStyle body2 = TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.normal,
|
fontWeight: FontWeight.normal,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.5,
|
height: 1.5,
|
||||||
@@ -86,7 +86,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// Hint - 提示文字
|
/// Hint - 提示文字
|
||||||
static const TextStyle hint = TextStyle(
|
static const TextStyle hint = TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.normal,
|
fontWeight: FontWeight.normal,
|
||||||
color: AppColors.textHint,
|
color: AppColors.textHint,
|
||||||
height: 1.4,
|
height: 1.4,
|
||||||
@@ -98,7 +98,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// 金额/价格 - 大号数字
|
/// 金额/价格 - 大号数字
|
||||||
static const TextStyle amount = TextStyle(
|
static const TextStyle amount = TextStyle(
|
||||||
fontSize: 32,
|
fontSize: 22,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.2,
|
height: 1.2,
|
||||||
@@ -107,7 +107,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// 价格 - 标准数字
|
/// 价格 - 标准数字
|
||||||
static const TextStyle price = TextStyle(
|
static const TextStyle price = TextStyle(
|
||||||
fontSize: 18,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.3,
|
height: 1.3,
|
||||||
@@ -116,7 +116,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// 价格变化 - 涨跌幅
|
/// 价格变化 - 涨跌幅
|
||||||
static const TextStyle priceChange = TextStyle(
|
static const TextStyle priceChange = TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
height: 1.3,
|
height: 1.3,
|
||||||
fontFeatures: [FontFeature.tabularFigures()],
|
fontFeatures: [FontFeature.tabularFigures()],
|
||||||
@@ -124,7 +124,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// 按钮文字
|
/// 按钮文字
|
||||||
static const TextStyle button = TextStyle(
|
static const TextStyle button = TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
height: 1.2,
|
height: 1.2,
|
||||||
@@ -132,7 +132,7 @@ class AppTextStyles {
|
|||||||
|
|
||||||
/// 链接文字
|
/// 链接文字
|
||||||
static const TextStyle link = TextStyle(
|
static const TextStyle link = TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
color: AppColors.textLink,
|
color: AppColors.textLink,
|
||||||
decoration: TextDecoration.underline,
|
decoration: TextDecoration.underline,
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ class AppTheme {
|
|||||||
elevation: 0,
|
elevation: 0,
|
||||||
scrolledUnderElevation: 0,
|
scrolledUnderElevation: 0,
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
// 【优化】使用 Inter 字体替代 Space Grotesk,提升专业金融感
|
|
||||||
titleTextStyle: GoogleFonts.inter(
|
titleTextStyle: GoogleFonts.inter(
|
||||||
fontSize: 18,
|
fontSize: 15,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: AppColorScheme.darkOnSurface,
|
color: AppColorScheme.darkOnSurface,
|
||||||
),
|
),
|
||||||
@@ -81,9 +80,8 @@ class AppTheme {
|
|||||||
borderRadius: BorderRadius.circular(AppRadius.xxl),
|
borderRadius: BorderRadius.circular(AppRadius.xxl),
|
||||||
),
|
),
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
// 【优化】使用 Inter 字体替代 Manrope,提升专业金融感
|
|
||||||
textStyle: GoogleFonts.inter(
|
textStyle: GoogleFonts.inter(
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -131,9 +129,8 @@ class AppTheme {
|
|||||||
elevation: 0,
|
elevation: 0,
|
||||||
scrolledUnderElevation: 0,
|
scrolledUnderElevation: 0,
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
// 【优化】使用 Inter 字体替代 Space Grotesk,提升专业金融感
|
|
||||||
titleTextStyle: GoogleFonts.inter(
|
titleTextStyle: GoogleFonts.inter(
|
||||||
fontSize: 18,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: AppColorScheme.lightOnSurface,
|
color: AppColorScheme.lightOnSurface,
|
||||||
),
|
),
|
||||||
@@ -188,9 +185,8 @@ class AppTheme {
|
|||||||
borderRadius: BorderRadius.circular(AppRadius.xxl),
|
borderRadius: BorderRadius.circular(AppRadius.xxl),
|
||||||
),
|
),
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
// 【优化】使用 Inter 字体替代 Manrope,提升专业金融感
|
|
||||||
textStyle: GoogleFonts.inter(
|
textStyle: GoogleFonts.inter(
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -227,30 +223,30 @@ class AppTextStyles {
|
|||||||
AppTextStyles._();
|
AppTextStyles._();
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
// Display - 大标题
|
// Display - 核心数字 (价格/余额)
|
||||||
|
// 参考 Binance/OKX 紧凑专业风格
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|
||||||
/// D1 - 大标题 (48px) - Hero moments
|
/// D1 - 总资产余额 (22px)
|
||||||
static TextStyle displayLarge(BuildContext context) => GoogleFonts.inter(
|
static TextStyle displayLarge(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 48,
|
fontSize: 22,
|
||||||
fontWeight: FontWeight.w700,
|
fontWeight: FontWeight.w700,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.1,
|
height: 1.15,
|
||||||
letterSpacing: -0.02,
|
|
||||||
);
|
|
||||||
|
|
||||||
/// D2 - 中标题 (36px)
|
|
||||||
static TextStyle displayMedium(BuildContext context) => GoogleFonts.inter(
|
|
||||||
fontSize: 36,
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
|
||||||
height: 1.2,
|
|
||||||
letterSpacing: -0.01,
|
letterSpacing: -0.01,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// D3 - 小标题 (28px)
|
/// D2 - 主价格 (20px)
|
||||||
|
static TextStyle displayMedium(BuildContext context) => GoogleFonts.inter(
|
||||||
|
fontSize: 20,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
|
height: 1.2,
|
||||||
|
);
|
||||||
|
|
||||||
|
/// D3 - 次要价格 (18px)
|
||||||
static TextStyle displaySmall(BuildContext context) => GoogleFonts.inter(
|
static TextStyle displaySmall(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 28,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.25,
|
height: 1.25,
|
||||||
@@ -260,22 +256,25 @@ class AppTextStyles {
|
|||||||
// Headline - 标题
|
// Headline - 标题
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|
||||||
|
/// 区域标题 (15px)
|
||||||
static TextStyle headlineLarge(BuildContext context) => GoogleFonts.inter(
|
static TextStyle headlineLarge(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 24,
|
fontSize: 15,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.3,
|
height: 1.3,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// 卡片标题 (14px)
|
||||||
static TextStyle headlineMedium(BuildContext context) => GoogleFonts.inter(
|
static TextStyle headlineMedium(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 20,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.35,
|
height: 1.35,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// 副标题 (13px)
|
||||||
static TextStyle headlineSmall(BuildContext context) => GoogleFonts.inter(
|
static TextStyle headlineSmall(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 18,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.4,
|
height: 1.4,
|
||||||
@@ -285,74 +284,83 @@ class AppTextStyles {
|
|||||||
// Body - 正文
|
// Body - 正文
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|
||||||
|
/// 主要正文 (13px)
|
||||||
static TextStyle bodyLarge(BuildContext context) => GoogleFonts.inter(
|
static TextStyle bodyLarge(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 16,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.5,
|
height: 1.45,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// 次要正文 (12px)
|
||||||
static TextStyle bodyMedium(BuildContext context) => GoogleFonts.inter(
|
static TextStyle bodyMedium(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 14,
|
|
||||||
fontWeight: FontWeight.w400,
|
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
|
||||||
height: 1.5,
|
|
||||||
);
|
|
||||||
|
|
||||||
static TextStyle bodySmall(BuildContext context) => GoogleFonts.inter(
|
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.45,
|
height: 1.45,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// 辅助文字 (11px)
|
||||||
|
static TextStyle bodySmall(BuildContext context) => GoogleFonts.inter(
|
||||||
|
fontSize: 11,
|
||||||
|
fontWeight: FontWeight.w400,
|
||||||
|
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
||||||
|
height: 1.4,
|
||||||
|
);
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
// Label - 标签
|
// Label - 标签
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|
||||||
|
/// 常规标签 (11px)
|
||||||
static TextStyle labelLarge(BuildContext context) => GoogleFonts.inter(
|
static TextStyle labelLarge(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 14,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
|
||||||
height: 1.4,
|
|
||||||
);
|
|
||||||
|
|
||||||
static TextStyle labelMedium(BuildContext context) => GoogleFonts.inter(
|
|
||||||
fontSize: 12,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
|
||||||
height: 1.4,
|
|
||||||
);
|
|
||||||
|
|
||||||
static TextStyle labelSmall(BuildContext context) => GoogleFonts.inter(
|
|
||||||
fontSize: 11,
|
fontSize: 11,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
|
height: 1.35,
|
||||||
|
);
|
||||||
|
|
||||||
|
/// 小标签 (10px)
|
||||||
|
static TextStyle labelMedium(BuildContext context) => GoogleFonts.inter(
|
||||||
|
fontSize: 10,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
||||||
height: 1.4,
|
height: 1.35,
|
||||||
|
);
|
||||||
|
|
||||||
|
/// 极小标签 (9px)
|
||||||
|
static TextStyle labelSmall(BuildContext context) => GoogleFonts.inter(
|
||||||
|
fontSize: 9,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
||||||
|
height: 1.35,
|
||||||
);
|
);
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
// 数字/金额 - Inter (等宽特性)
|
// 数字/金额 - Inter (等宽特性)
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|
||||||
|
/// 大号数字 (22px) - 主价格、总资产
|
||||||
static TextStyle numberLarge(BuildContext context) => GoogleFonts.inter(
|
static TextStyle numberLarge(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 24,
|
fontSize: 22,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.2,
|
height: 1.15,
|
||||||
fontFeatures: const [FontFeature.tabularFigures()],
|
fontFeatures: const [FontFeature.tabularFigures()],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// 中号数字 (16px) - 次要价格、数量
|
||||||
static TextStyle numberMedium(BuildContext context) => GoogleFonts.inter(
|
static TextStyle numberMedium(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 18,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.25,
|
height: 1.25,
|
||||||
fontFeatures: const [FontFeature.tabularFigures()],
|
fontFeatures: const [FontFeature.tabularFigures()],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// 小号数字 (13px) - 涨跌幅、小量
|
||||||
static TextStyle numberSmall(BuildContext context) => GoogleFonts.inter(
|
static TextStyle numberSmall(BuildContext context) => GoogleFonts.inter(
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
color: Theme.of(context).colorScheme.onSurface,
|
color: Theme.of(context).colorScheme.onSurface,
|
||||||
height: 1.3,
|
height: 1.3,
|
||||||
@@ -365,72 +373,72 @@ class AppTextStyles {
|
|||||||
|
|
||||||
@Deprecated('Use displaySmall instead')
|
@Deprecated('Use displaySmall instead')
|
||||||
static const TextStyle heading1 = TextStyle(
|
static const TextStyle heading1 = TextStyle(
|
||||||
fontSize: 28,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use headlineLarge instead')
|
@Deprecated('Use headlineLarge instead')
|
||||||
static const TextStyle heading2 = TextStyle(
|
static const TextStyle heading2 = TextStyle(
|
||||||
fontSize: 24,
|
fontSize: 15,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use headlineMedium instead')
|
@Deprecated('Use headlineMedium instead')
|
||||||
static const TextStyle heading3 = TextStyle(
|
static const TextStyle heading3 = TextStyle(
|
||||||
fontSize: 18,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use headlineSmall instead')
|
@Deprecated('Use headlineSmall instead')
|
||||||
static const TextStyle heading4 = TextStyle(
|
static const TextStyle heading4 = TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use bodyLarge instead')
|
@Deprecated('Use bodyLarge instead')
|
||||||
static const TextStyle body1 = TextStyle(
|
static const TextStyle body1 = TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 13,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use bodyMedium instead')
|
@Deprecated('Use bodyMedium instead')
|
||||||
static const TextStyle body2 = TextStyle(
|
static const TextStyle body2 = TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 12,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use labelSmall instead')
|
@Deprecated('Use labelSmall instead')
|
||||||
static const TextStyle caption = TextStyle(
|
static const TextStyle caption = TextStyle(
|
||||||
fontSize: 12,
|
fontSize: 11,
|
||||||
color: Color(0xFFA1A1AA),
|
color: Color(0xFFA1A1AA),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use labelSmall instead')
|
@Deprecated('Use labelSmall instead')
|
||||||
static const TextStyle hint = TextStyle(
|
static const TextStyle hint = TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 12,
|
||||||
color: Color(0xFF71717A),
|
color: Color(0xFF71717A),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use numberMedium instead')
|
@Deprecated('Use numberMedium instead')
|
||||||
static const TextStyle price = TextStyle(
|
static const TextStyle price = TextStyle(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use numberSmall with color instead')
|
@Deprecated('Use numberSmall with color instead')
|
||||||
static const TextStyle change = TextStyle(
|
static const TextStyle change = TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
);
|
);
|
||||||
|
|
||||||
@Deprecated('Use numberSmall instead')
|
@Deprecated('Use numberSmall instead')
|
||||||
static const TextStyle number = TextStyle(
|
static const TextStyle number = TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
color: Color(0xFFFFFFFF),
|
color: Color(0xFFFFFFFF),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ class AssetCard extends StatelessWidget {
|
|||||||
style: theme.textTheme.h1.copyWith(
|
style: theme.textTheme.h1.copyWith(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: primaryTextColor,
|
color: primaryTextColor,
|
||||||
fontSize: 32,
|
fontSize: 20,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
// 盈亏信息
|
// 盈亏信息
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class CoinCard extends StatelessWidget {
|
|||||||
child: Text(
|
child: Text(
|
||||||
icon ?? code.substring(0, 1),
|
icon ?? code.substring(0, 1),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
color: theme.colorScheme.primary,
|
color: theme.colorScheme.primary,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ class _AssetCard extends StatelessWidget {
|
|||||||
Text(
|
Text(
|
||||||
'\$${overview?.totalAsset ?? '0.00'}',
|
'\$${overview?.totalAsset ?? '0.00'}',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 36,
|
fontSize: 22,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
@@ -284,7 +284,7 @@ class _FundAccountCard extends StatelessWidget {
|
|||||||
Text(
|
Text(
|
||||||
displayBalance,
|
displayBalance,
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 28,
|
fontSize: 20,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -413,7 +413,7 @@ class _TradeAccountCard extends StatelessWidget {
|
|||||||
Text(
|
Text(
|
||||||
totalValue.toStringAsFixed(2),
|
totalValue.toStringAsFixed(2),
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 28,
|
fontSize: 20,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -592,7 +592,7 @@ void _showDepositDialog(BuildContext context) {
|
|||||||
Text(
|
Text(
|
||||||
'Deposit (充值)',
|
'Deposit (充值)',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 24,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -708,7 +708,7 @@ void _showDepositResultDialog(BuildContext context, Map<String, dynamic> data) {
|
|||||||
Text(
|
Text(
|
||||||
'充值申请成功',
|
'充值申请成功',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -938,7 +938,7 @@ void _showWithdrawDialog(BuildContext context, String? balance) {
|
|||||||
Text(
|
Text(
|
||||||
'提现 (Withdraw)',
|
'提现 (Withdraw)',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -1117,7 +1117,7 @@ void _showResultDialog(BuildContext context, String title, String? message) {
|
|||||||
children: [
|
children: [
|
||||||
Text(title,
|
Text(title,
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
)),
|
)),
|
||||||
@@ -1174,7 +1174,7 @@ void _showKycRequiredDialog(BuildContext context) {
|
|||||||
Text(
|
Text(
|
||||||
'需要实名认证',
|
'需要实名认证',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ class _TransferPageState extends State<TransferPage> {
|
|||||||
title: Text(
|
title: Text(
|
||||||
'资金划转',
|
'资金划转',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 18,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -411,14 +411,14 @@ class _TransferPageState extends State<TransferPage> {
|
|||||||
FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d{0,8}')),
|
FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d{0,8}')),
|
||||||
],
|
],
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 32,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
hintText: '0.00',
|
hintText: '0.00',
|
||||||
hintStyle: GoogleFonts.spaceGrotesk(
|
hintStyle: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 32,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurfaceVariant.withOpacity(0.3),
|
color: colorScheme.onSurfaceVariant.withOpacity(0.3),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
'\u20BF',
|
'\u20BF',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 48,
|
fontSize: 18,
|
||||||
color: AppColorScheme.darkPrimary,
|
color: AppColorScheme.darkPrimary,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -64,7 +64,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
'注册账号',
|
'注册账号',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 24,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: AppColorScheme.darkOnSurface,
|
color: AppColorScheme.darkOnSurface,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ class _HomePageState extends State<HomePage>
|
|||||||
Text(
|
Text(
|
||||||
'充值',
|
'充值',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 24,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -251,7 +251,7 @@ class _HomePageState extends State<HomePage>
|
|||||||
Text(
|
Text(
|
||||||
'充值申请成功',
|
'充值申请成功',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -350,7 +350,7 @@ class _HomePageState extends State<HomePage>
|
|||||||
children: [
|
children: [
|
||||||
Text(title,
|
Text(title,
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
)),
|
)),
|
||||||
@@ -469,7 +469,7 @@ class _GreetingSection extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 24,
|
fontSize: 18,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -644,7 +644,7 @@ class _AssetCardState extends State<_AssetCard> {
|
|||||||
Text(
|
Text(
|
||||||
displayAsset,
|
displayAsset,
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 32,
|
fontSize: 22,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -1103,7 +1103,7 @@ class _HoldingsSection extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 18,
|
fontSize: 16,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
@@ -1116,7 +1116,7 @@ class _HoldingsSection extends StatelessWidget {
|
|||||||
children: [
|
children: [
|
||||||
Text('资产详情',
|
Text('资产详情',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold, fontSize: 14)),
|
fontWeight: FontWeight.bold, fontSize: 13)),
|
||||||
const SizedBox(width: 4),
|
const SizedBox(width: 4),
|
||||||
Icon(LucideIcons.chevronRight,
|
Icon(LucideIcons.chevronRight,
|
||||||
size: 16, color: colorScheme.primary),
|
size: 16, color: colorScheme.primary),
|
||||||
@@ -1157,7 +1157,7 @@ class _EmptyHoldings extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: AppSpacing.sm),
|
SizedBox(height: AppSpacing.sm),
|
||||||
@@ -1165,7 +1165,7 @@ class _EmptyHoldings extends StatelessWidget {
|
|||||||
'快去交易吧~',
|
'快去交易吧~',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: colorScheme.onSurfaceVariant,
|
color: colorScheme.onSurfaceVariant,
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -1245,7 +1245,7 @@ class _HoldingItem extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
)),
|
)),
|
||||||
Text(holding.quantity,
|
Text(holding.quantity,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -1263,7 +1263,7 @@ class _HoldingItem extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
fontSize: 14,
|
fontSize: 13,
|
||||||
)),
|
)),
|
||||||
Text(holding.formattedProfitRate,
|
Text(holding.formattedProfitRate,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -1439,7 +1439,7 @@ class _ProfitStatCard extends StatelessWidget {
|
|||||||
? '${isProfit ? '+' : ''}${value!.toStringAsFixed(2)}'
|
? '${isProfit ? '+' : ''}${value!.toStringAsFixed(2)}'
|
||||||
: '--',
|
: '--',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 15,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: color,
|
color: color,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ class _FeaturedCard extends StatelessWidget {
|
|||||||
child: Text(
|
child: Text(
|
||||||
coin.displayIcon,
|
coin.displayIcon,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 22,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.primary,
|
color: colorScheme.primary,
|
||||||
),
|
),
|
||||||
@@ -214,7 +214,7 @@ class _FeaturedCard extends StatelessWidget {
|
|||||||
Text(
|
Text(
|
||||||
'\$${coin.formattedPrice}',
|
'\$${coin.formattedPrice}',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 24,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ class _KycPageState extends State<KycPage> {
|
|||||||
Text(
|
Text(
|
||||||
'身份验证',
|
'身份验证',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ class _MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin
|
|||||||
builder: (context) => ShadDialog(
|
builder: (context) => ShadDialog(
|
||||||
title: Row(
|
title: Row(
|
||||||
children: [
|
children: [
|
||||||
_AppLogo(radius: 20, fontSize: 20),
|
_AppLogo(radius: 20, fontSize: 16),
|
||||||
SizedBox(width: AppSpacing.sm + AppSpacing.xs),
|
SizedBox(width: AppSpacing.sm + AppSpacing.xs),
|
||||||
const Text('模拟所'),
|
const Text('模拟所'),
|
||||||
],
|
],
|
||||||
@@ -196,7 +196,7 @@ class _UserCard extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
child: _AppLogo(radius: 36, fontSize: 28, text: user?.avatarText),
|
child: _AppLogo(radius: 36, fontSize: 20, text: user?.avatarText),
|
||||||
),
|
),
|
||||||
// 验证徽章
|
// 验证徽章
|
||||||
Positioned(
|
Positioned(
|
||||||
@@ -229,7 +229,7 @@ class _UserCard extends StatelessWidget {
|
|||||||
Text(
|
Text(
|
||||||
user?.username ?? '未登录',
|
user?.username ?? '未登录',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 24,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ class _OnboardingPageState extends State<OnboardingPage> {
|
|||||||
Text(
|
Text(
|
||||||
item.title,
|
item.title,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 28,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
letterSpacing: -0.5,
|
letterSpacing: -0.5,
|
||||||
@@ -254,7 +254,7 @@ class _OnboardingPageState extends State<OnboardingPage> {
|
|||||||
item.description,
|
item.description,
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
color: colorScheme.onSurfaceVariant,
|
color: colorScheme.onSurfaceVariant,
|
||||||
height: 1.6,
|
height: 1.6,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ class _FundOrdersPageState extends State<FundOrdersPage> {
|
|||||||
Text(
|
Text(
|
||||||
'${isDeposit ? '+' : '-'}${order.amount} USDT',
|
'${isDeposit ? '+' : '-'}${order.amount} USDT',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: isDeposit ? upColor : downColor,
|
color: isDeposit ? upColor : downColor,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -331,7 +331,7 @@ class _ConfirmDialog extends StatelessWidget {
|
|||||||
child: Text(
|
child: Text(
|
||||||
'确认${isBuy ? '买入' : '卖出'}',
|
'确认${isBuy ? '买入' : '卖出'}',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -486,7 +486,7 @@ class _CoinSelector extends StatelessWidget {
|
|||||||
children: [
|
children: [
|
||||||
Text('选择币种',
|
Text('选择币种',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 20,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
)),
|
)),
|
||||||
@@ -679,7 +679,7 @@ class _PriceCard extends StatelessWidget {
|
|||||||
Text(
|
Text(
|
||||||
'\$${coin.formattedPrice}',
|
'\$${coin.formattedPrice}',
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 30,
|
fontSize: 20,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
@@ -1138,7 +1138,7 @@ class _AmountInputState extends State<_AmountInput> {
|
|||||||
keyboardType: const TextInputType.numberWithOptions(decimal: true),
|
keyboardType: const TextInputType.numberWithOptions(decimal: true),
|
||||||
onChanged: (_) => _checkLimit(),
|
onChanged: (_) => _checkLimit(),
|
||||||
style: GoogleFonts.spaceGrotesk(
|
style: GoogleFonts.spaceGrotesk(
|
||||||
fontSize: 22,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.onSurface,
|
color: colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user