// 导入需要使用的包,同时在pubspec.yaml中添加依赖(dependencies),然后执行flutter pub get // 类似于Java中的import语句,python中的import语句(pip install package_name) import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; 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); // 每个界面都需要实现build方法,返回一个Widget @override Widget build(BuildContext context) { return FutureBuilder( future: PackageInfo.fromPlatform(), builder: (BuildContext context, AsyncSnapshot snapshot) { if (snapshot.hasData) { final packageInfo = snapshot.data as PackageInfo; String version = packageInfo.version; 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: [ // 帮助文档 MarkdownPageListTile( // 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("知士荟博客"), onTap: () { ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text("请横屏查看"), duration: Duration(seconds: 3)), ); launchUrl(Uri.parse( "https://www.learnerhub.net/#/users/12147/docs")); }), // 头歌源代码链接 ListTile( leading: const Icon(FontAwesomeIcons.code), title: Text("头歌源代码"), onTap: () => launchUrl(Uri.parse( "https://code.educoder.net/mbhvfy6mx/timemanager")), ), ], ); } else { return const Center( child: CircularProgressIndicator(), ); } }, ); } }