1 #1

Merged
ps9up4ig6 merged 1 commits from gxh_branch into dev 2 years ago

@ -1,16 +1,3 @@
# timemanage
# 时间管理
A new Flutter project.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
一个基于Flutter框架的APP

@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:timemanage/screens/about_screen.dart';
import 'package:timemanage/screens/dashboard_screen.dart';
void main() => runApp(const MyApp());
@ -26,178 +26,3 @@ class MyApp extends StatelessWidget {
);
}
}
class DashBoardScreen extends StatelessWidget {
const DashBoardScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.blueAccent, //
//
leading: MenuBar(
children: <Widget>[
SubmenuButton(
menuChildren: <Widget>[
MenuItemButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const CourseScreen()),
);
},
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: () {},
)
],
),
body: const Center(
child: Text('主界面'),
),
);
}
}
class CourseScreen extends StatelessWidget {
const CourseScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('课程表'),
),
body: const Center(
child: Text('课程表界面'),
),
);
}
}
class ProjectsScreen extends StatelessWidget {
const ProjectsScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('项目'),
),
body: const Center(
child: Text('项目界面'),
),
);
}
}
class ReportsScreen extends StatelessWidget {
const ReportsScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('统计报告'),
),
body: const Center(
child: Text('统计报告界面'),
),
);
}
}
class ExportScreen extends StatelessWidget {
const ExportScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('导入与导出'),
),
body: const Center(
child: Text('导入与导出界面'),
),
);
}
}
class SettingsScreen extends StatelessWidget {
const SettingsScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('设置'),
),
body: const Center(
child: Text('设置界面'),
),
);
}
}

@ -1,3 +1,5 @@
// 使pubspec.yamldependenciesflutter pub get
// Javaimportpythonimportpip install package_name
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@ -5,8 +7,10 @@ import 'package:package_info_plus/package_info_plus.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:about/about.dart';
//
class AboutScreen extends StatelessWidget {
const AboutScreen({Key? key}) : super(key: key);
// buildWidget
@override
Widget build(BuildContext context) {
return FutureBuilder(
@ -18,32 +22,45 @@ class AboutScreen extends StatelessWidget {
String buildNumber = packageInfo.buildNumber;
return AboutPage(
key: const Key("aboutPage"),
//
title: Text("关于"),
//
/* 所有要使用的资源需要在pubspec.yaml文件中的flutter节点下的assets节点声明否则无法访问资源 */
// FIXME: APP
applicationIcon: SvgPicture.asset(
"icon.svg",
semanticsLabel: "Time Manager",
height: 100,
),
// app
applicationVersion: "v$version+$buildNumber",
// app
applicationDescription: Text(
"一个也许能够管理你的时间的APP。",
textAlign: TextAlign.justify,
),
//
applicationLegalese:
"Copyright © 2023 中国民航大学 计算机科学与技术学院 \n 计算机科学与技术专业 21034102班 \n 庞浩,葛兴海,蔡玉祥,邹兴云,卫俊钢 小组",
/**
* ListTile
*/
children: <Widget>[
//
MarkdownPageListTile(
// TODO: markdown
// TODO: README
filename: 'README.md',
title: Text("帮助文档"),
icon: const Icon(FontAwesomeIcons.readme),
),
//
// FIXME: md
MarkdownPageListTile(
filename: 'CONTRIBUTORS.md',
title: Text("开发者"),
icon: const Icon(FontAwesomeIcons.userAstronaut),
),
//
ListTile(
leading: const Icon(FontAwesomeIcons.blog),
title: Text("知士荟博客"),
@ -57,6 +74,7 @@ class AboutScreen extends StatelessWidget {
launchUrl(Uri.parse(
"https://www.learnerhub.net/#/users/12147/docs"));
}),
//
ListTile(
leading: const Icon(FontAwesomeIcons.code),
title: Text("头歌源代码"),

@ -0,0 +1,16 @@
import 'package:flutter/material.dart';
class CourseScreen extends StatelessWidget {
const CourseScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('课程表'),
),
body: const Center(
child: Text('课程表界面'),
),
);
}
}

@ -0,0 +1,107 @@
import 'package:flutter/material.dart';
import 'package:timemanage/screens/projects_screen.dart';
import 'package:timemanage/screens/reports_screen.dart';
import 'package:timemanage/screens/export_screen.dart';
import 'package:timemanage/screens/settings_screen.dart';
import 'package:timemanage/screens/about_screen.dart';
import 'package:timemanage/screens/course_screen.dart';
class DashBoardScreen extends StatelessWidget {
const DashBoardScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.blueAccent, //
//
leading: MenuBar(
children: <Widget>[
SubmenuButton(
menuChildren: <Widget>[
MenuItemButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const CourseScreen()),
);
},
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: () {},
)
],
),
body: const Center(
child: Text('主界面'),
),
);
}
}

@ -0,0 +1,16 @@
import 'package:flutter/material.dart';
class ExportScreen extends StatelessWidget {
const ExportScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('导入与导出'),
),
body: const Center(
child: Text('导入与导出界面'),
),
);
}
}

@ -0,0 +1,16 @@
import 'package:flutter/material.dart';
class ProjectsScreen extends StatelessWidget {
const ProjectsScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('项目'),
),
body: const Center(
child: Text('项目界面'),
),
);
}
}

@ -0,0 +1,16 @@
import 'package:flutter/material.dart';
class ReportsScreen extends StatelessWidget {
const ReportsScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('统计报告'),
),
body: const Center(
child: Text('统计报告界面'),
),
);
}
}

@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class SettingsScreen extends StatelessWidget {
const SettingsScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('设置'),
),
body: const Center(
child: Text('设置界面'),
));
}
}
Loading…
Cancel
Save