Template
Core 基础设施:Flavor 三包体系、Drift+SQLCipher 加密数据库 7 拦截器 Dio 网络栈、CrashReporter 崩溃日志、Sealed Failure 错误体系 5 色板主题系统、Auth 认证骨架(Clean Architecture)、Dev Panel、Mock Adapter 通过验证:flutter analyze(0 errors)、flutter test(全绿)、staging APK 74.8MB
33 lines
1.4 KiB
Dart
33 lines
1.4 KiB
Dart
import 'package:sunny_mochi/core/theme/app_colors.dart';
|
|
|
|
/// 主题化图片资源分发工具。
|
|
///
|
|
/// 约定:`assets/themes/{scheme}/{name}.png`,每套主题放同名文件。
|
|
/// 调用:`Image.asset(ThemeAssets.tabHomeNormal(scheme))`
|
|
///
|
|
/// TODO: 业务项目按需扩展此类,添加与品牌设计对应的主题图片路径。
|
|
/// 若 TabBar 使用 Material Icons(当前脚手架默认),此类可不使用。
|
|
abstract class ThemeAssets {
|
|
static const String _root = 'assets/themes';
|
|
|
|
static String _dir(AppColorScheme scheme) => '$_root/${scheme.name}';
|
|
|
|
// ═══ Tab 图标(脚手架默认 2 Tab,业务项目按需扩展)══════════════════════
|
|
|
|
/// Home Tab
|
|
static String tabHomeNormal(AppColorScheme scheme) =>
|
|
'${_dir(scheme)}/tab_home_normal.png';
|
|
static String tabHomeSelected(AppColorScheme scheme) =>
|
|
'${_dir(scheme)}/tab_home_selected.png';
|
|
|
|
/// Mine Tab
|
|
static String tabMineNormal(AppColorScheme scheme) =>
|
|
'${_dir(scheme)}/tab_mine_normal.png';
|
|
static String tabMineSelected(AppColorScheme scheme) =>
|
|
'${_dir(scheme)}/tab_mine_selected.png';
|
|
|
|
// ═══ 业务图片占位(TODO: 填入项目实际图片路径)════════════════════════════
|
|
// static String heroBanner(AppColorScheme scheme) =>
|
|
// '${_dir(scheme)}/hero_banner.png';
|
|
}
|