parent
fda09a796f
commit
aa7250060d
@ -0,0 +1,105 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:timemanage/screen/projects_screen.dart';
|
||||
import 'package:timemanage/screen/reports_screen.dart';
|
||||
import 'package:timemanage/screen/export_screen.dart';
|
||||
import 'package:timemanage/screen/settings_screen.dart';
|
||||
import 'package:timemanage/screen/about_screen.dart';
|
||||
import 'package:timemanage/screen/course_screen.dart';
|
||||
|
||||
class TopBar extends StatefulWidget implements PreferredSizeWidget {
|
||||
const TopBar({Key? key}) : super(key: key);
|
||||
@override
|
||||
State<TopBar> createState() => _TopBarState();
|
||||
@override
|
||||
Size get preferredSize => const Size.fromHeight(kToolbarHeight);
|
||||
}
|
||||
|
||||
class _TopBarState extends State<TopBar> {
|
||||
@override
|
||||
Widget build(BuildContext context) => AppBar(
|
||||
backgroundColor: Colors.blueAccent, // 背景色
|
||||
// 最前面的菜单按钮
|
||||
leading: MenuBar(
|
||||
children: <Widget>[
|
||||
SubmenuButton(
|
||||
menuChildren: <Widget>[
|
||||
MenuItemButton(
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) => SpaceWidget()),
|
||||
);
|
||||
},
|
||||
child: const Text('课程表'),
|
||||
),
|
||||
MenuItemButton(
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const ProjectsScreen()),
|
||||
);
|
||||
},
|
||||
child: const Text('项目'),
|
||||
),
|
||||
MenuItemButton(
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const ReportsScreen()),
|
||||
);
|
||||
},
|
||||
child: const Text('统计报告'),
|
||||
),
|
||||
MenuItemButton(
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const ExportScreen()),
|
||||
);
|
||||
},
|
||||
child: const Text('导入和导出'),
|
||||
),
|
||||
MenuItemButton(
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const SettingsScreen()),
|
||||
);
|
||||
},
|
||||
child: const Text('设置'),
|
||||
),
|
||||
MenuItemButton(
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const AboutScreen()),
|
||||
);
|
||||
},
|
||||
child: const Text('关于'),
|
||||
),
|
||||
],
|
||||
child: const Icon(Icons.menu),
|
||||
),
|
||||
],
|
||||
),
|
||||
// 标题
|
||||
title: const Text('时间管理'),
|
||||
actions: [
|
||||
// 搜索按钮
|
||||
IconButton(
|
||||
icon: const Icon(Icons.search),
|
||||
onPressed: () {},
|
||||
),
|
||||
// 筛选按钮
|
||||
IconButton(
|
||||
icon: const Icon(Icons.filter_alt),
|
||||
onPressed: () {},
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
Loading…
Reference in new issue