Files
flutter-template/lib/core/widgets/empty_view.dart
T
SkyJourney 61017f1c39 chore: 初始化脚手架 — sunny_mochi 企业级 Flutter 模板
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
2026-05-14 12:51:05 +08:00

45 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
/// 空状态占位视图。
class EmptyView extends StatelessWidget {
const EmptyView({
super.key,
this.message = '暂无数据',
this.icon,
this.action,
});
final String message;
final Widget? icon;
final Widget? action;
@override
Widget build(BuildContext context) {
return Center(
child: Padding(
padding: const EdgeInsets.all(32),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
icon ??
Icon(
Icons.inbox_outlined,
size: 64,
color: Theme.of(context).colorScheme.outlineVariant,
),
const SizedBox(height: 16),
Text(
message,
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
color: Theme.of(context).colorScheme.outline,
),
textAlign: TextAlign.center,
),
if (action != null) ...[const SizedBox(height: 24), action!],
],
),
),
);
}
}