Browse Source
重构颜色和样式处理逻辑,新增MeetingUIUtils工具类统一管理UI样式 修改多个组件以支持暗黑模式,包括背景色、文本颜色和阴影效果 优化底部弹窗和页面布局在不同主题下的显示一致性newdev_shunjiawei
18 changed files with 259 additions and 156 deletions
@ -0,0 +1,63 @@ |
|||
import 'package:flutter/material.dart'; |
|||
|
|||
/// 会议模块UI工具类 |
|||
/// 提供统一的颜色和样式方法,确保UI风格一致性 |
|||
class MeetingUIUtils { |
|||
/// 获取背景颜色 |
|||
static Color getBackgroundColor(bool isDarkMode) { |
|||
return isDarkMode ? Colors.black : Colors.grey[50]!; |
|||
} |
|||
|
|||
/// 获取卡片背景颜色 |
|||
static Color getCardColor(bool isDarkMode) { |
|||
return isDarkMode ? const Color(0xFF1A1A1A) : Colors.white; |
|||
} |
|||
|
|||
/// 获取半透明白色 |
|||
static Color getTranslucentWhite(double alpha) { |
|||
return Colors.white.withValues(alpha: alpha); |
|||
} |
|||
|
|||
/// 获取半透明黑色 |
|||
static Color getTranslucentBlack(double alpha) { |
|||
return Colors.black.withValues(alpha: alpha); |
|||
} |
|||
|
|||
/// 获取主文本颜色 |
|||
static Color getTextColor(bool isDarkMode) { |
|||
return isDarkMode ? Colors.white : Colors.grey[800]!; |
|||
} |
|||
|
|||
/// 获取次要文本颜色 |
|||
static Color getSecondaryTextColor(bool isDarkMode) { |
|||
return isDarkMode ? Colors.grey[400]! : Colors.grey[600]!; |
|||
} |
|||
|
|||
/// 获取卡片阴影 |
|||
static List<BoxShadow> getCardShadow(bool isDarkMode) { |
|||
return [ |
|||
BoxShadow( |
|||
color: isDarkMode |
|||
? Colors.black.withValues(alpha: 0.2) |
|||
: Colors.black.withValues(alpha: 0.05), |
|||
blurRadius: 10, |
|||
offset: const Offset(0, 4), |
|||
), |
|||
]; |
|||
} |
|||
|
|||
/// 获取按钮颜色 |
|||
static Color getButtonColor(bool isDarkMode) { |
|||
return isDarkMode ? const Color(0xFF0066CC) : Colors.blue; |
|||
} |
|||
|
|||
/// 获取带透明度的颜色 |
|||
static Color getColorWithAlpha(Color color, double alpha) { |
|||
return color.withValues(alpha: alpha); |
|||
} |
|||
|
|||
/// 获取禁用状态的颜色 |
|||
static Color getDisabledColor(Color color, bool isEnabled) { |
|||
return isEnabled ? color : color.withValues(alpha: 0.5); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue