forked from lxm_flutter/FlutterUnit
关于页面
This commit is contained in:
Binary file not shown.
BIN
assets/images/wechat.jpg
Normal file
BIN
assets/images/wechat.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/images/wei_x.jpg
Normal file
BIN
assets/images/wei_x.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 173 KiB |
@@ -3,12 +3,8 @@ import 'package:flutter_unit/app/style/TolyIcon.dart';
|
||||
import 'package:flutter_unit/components/permanent/code/highlighter_style.dart';
|
||||
|
||||
class Cons {
|
||||
static const TABS = <String>[
|
||||
"Stateless",
|
||||
"Statefule",
|
||||
"Single",
|
||||
"Multi",
|
||||
]; //标题列表
|
||||
static String version = 'V1.0.0';
|
||||
|
||||
static const MENU_INFO = <String>["关于", "帮助", "问题反馈"]; //菜单栏
|
||||
static const ICONS_MAP = {
|
||||
//底栏图标
|
||||
@@ -26,7 +22,6 @@ class Cons {
|
||||
0xff0000FF,
|
||||
0xff8B00FF
|
||||
];
|
||||
static const rainbowInfo = <String>["红色", "橙色", "黄色", "绿色", "青色", "蓝色", "紫色"];
|
||||
|
||||
static const tabColors = [
|
||||
0xff44D1FD,
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_unit/views/pages/about/about_me_page.dart';
|
||||
import 'package:flutter_unit/views/pages/about/about_app_page.dart';
|
||||
import 'package:flutter_unit/views/pages/search/serach_page.dart';
|
||||
import 'package:flutter_unit/views/pages/setting/code_style_setting.dart';
|
||||
import 'package:flutter_unit/views/pages/setting/font_setting.dart';
|
||||
import 'package:flutter_unit/views/pages/setting/item_style_setting.dart';
|
||||
@@ -9,7 +12,6 @@ import 'package:flutter_unit/views/pages/collect_page.dart';
|
||||
import 'package:flutter_unit/views/pages/detail/widget_detail_page.dart';
|
||||
import 'package:flutter_unit/views/pages/unit_todo/layout_unit_page.dart';
|
||||
import 'package:flutter_unit/views/pages/unit_todo/paint_unit_page.dart';
|
||||
import 'package:flutter_unit/views/search/serach_page.dart';
|
||||
import 'package:flutter_unit/views/pages/setting/setting_page.dart';
|
||||
import 'package:flutter_unit/views/pages/navigation/unit_navigation.dart';
|
||||
|
||||
@@ -34,6 +36,8 @@ class Router {
|
||||
static const String bug = 'BugUnitPage';
|
||||
static const String paint = 'PaintUnitPage';
|
||||
static const String layout = 'LayoutUnitPage';
|
||||
static const String about_me = 'AboutMePage';
|
||||
static const String about_app = 'AboutAppPage';
|
||||
|
||||
static Route<dynamic> generateRoute(RouteSettings settings) {
|
||||
switch (settings.name) {
|
||||
@@ -66,6 +70,10 @@ class Router {
|
||||
return Right2LeftRouter(child: PaintUnitPage());
|
||||
case layout:
|
||||
return Right2LeftRouter(child: LayoutUnitPage());
|
||||
case about_app:
|
||||
return Right2LeftRouter(child: AboutAppPage());
|
||||
case about_me:
|
||||
return Right2LeftRouter(child: AboutMePage());
|
||||
|
||||
default:
|
||||
return MaterialPageRoute(
|
||||
|
||||
@@ -4,6 +4,10 @@ import 'package:flutter/widgets.dart';
|
||||
class TolyIcon {
|
||||
|
||||
TolyIcon._();
|
||||
static const IconData icon_email = const IconData( 0xe694, fontFamily: "TolyIcon");
|
||||
static const IconData icon_github = const IconData( 0xe689, fontFamily: "TolyIcon");
|
||||
static const IconData icon_juejin = const IconData( 0xe601, fontFamily: "TolyIcon");
|
||||
static const IconData icon_share = const IconData( 0xe613, fontFamily: "TolyIcon");
|
||||
static const IconData icon_background = const IconData( 0xe60a, fontFamily: "TolyIcon");
|
||||
static const IconData icon_code = const IconData( 0xe70b, fontFamily: "TolyIcon");
|
||||
static const IconData icon_item = const IconData( 0xe66f, fontFamily: "TolyIcon");
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:flutter_unit/app/utils/Toast.dart';
|
||||
import 'package:flutter_unit/components/permanent/circle.dart';
|
||||
import 'package:flutter_unit/components/permanent/code/code_panel.dart';
|
||||
import 'package:flutter_unit/components/permanent/panel.dart';
|
||||
import 'package:share/share.dart';
|
||||
import 'package:toggle_rotate/toggle_rotate.dart';
|
||||
|
||||
import '../permanent/feedback_widget.dart';
|
||||
@@ -62,15 +63,16 @@ class _WidgetNodePanelState extends State<WidgetNodePanel>
|
||||
mode: FeedMode.fade,
|
||||
a: 0.4,
|
||||
onPressed: () async {
|
||||
await Clipboard.setData(ClipboardData(text: widget.code));
|
||||
Toast.toast(context, '复制成功!');
|
||||
// await Clipboard.setData(ClipboardData(text: widget.code));
|
||||
// Toast.toast(context, '复制成功!');
|
||||
Share.share(widget.code);
|
||||
},
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
right: 10,
|
||||
),
|
||||
child: Icon(
|
||||
Icons.content_copy,
|
||||
TolyIcon.icon_share,
|
||||
size: 20,
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
|
||||
@@ -5,7 +5,7 @@ import 'package:flutter_unit/blocs/collect/collect_event.dart';
|
||||
import 'package:flutter_unit/blocs/search/search_bloc.dart';
|
||||
import 'package:flutter_unit/repositorys/widget_db_repository.dart';
|
||||
import 'package:flutter_unit/storage/app_storage.dart';
|
||||
import 'package:flutter_unit/views/splash/unit_splash.dart';
|
||||
import 'package:flutter_unit/views/pages/splash/unit_splash.dart';
|
||||
|
||||
//import 'tools/initial.dart';
|
||||
import 'blocs/collect/collect_bloc.dart';
|
||||
@@ -31,6 +31,7 @@ final storage = AppStorage();
|
||||
|
||||
class BlocWrapper extends StatelessWidget {
|
||||
final Widget child;
|
||||
|
||||
BlocWrapper({this.child});
|
||||
|
||||
final repository = WidgetDbRepository(storage);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_unit/app/res/cons.dart';
|
||||
|
||||
class DialogAbout extends StatelessWidget {
|
||||
static show(BuildContext context){
|
||||
@@ -39,7 +40,7 @@ class DialogAbout extends StatelessWidget {
|
||||
height: 20,
|
||||
),
|
||||
Text(
|
||||
"Flutter Unit V0.0.1",
|
||||
"Flutter Unit ${Cons.version}",
|
||||
),
|
||||
]);
|
||||
return AlertDialog(title: title, content: content, actions: <Widget>[
|
||||
|
||||
241
lib/views/pages/about/about_app_page.dart
Normal file
241
lib/views/pages/about/about_app_page.dart
Normal file
@@ -0,0 +1,241 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
/// create by 张风捷特烈 on 2020-04-13
|
||||
/// contact me by email 1981462002@qq.com
|
||||
/// 说明:
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_unit/app/style/TolyIcon.dart';
|
||||
import 'package:flutter_unit/components/permanent/circle.dart';
|
||||
import 'package:flutter_unit/components/permanent/circle_image.dart';
|
||||
import 'package:flutter_unit/components/permanent/feedback_widget.dart';
|
||||
import 'package:flutter_unit/components/permanent/panel.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AboutAppPage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
body: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
height: 150,
|
||||
width: MediaQuery.of(context).size.width,
|
||||
margin: EdgeInsets.only(bottom: 50),
|
||||
child: Image.asset(
|
||||
'assets/images/sabar.jpg',
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
_buildBar(context),
|
||||
Positioned(
|
||||
bottom: 0,
|
||||
left: 50,
|
||||
child: CircleImage(
|
||||
size: 100,
|
||||
shadowColor: Theme.of(context).primaryColor,
|
||||
image: AssetImage('assets/images/icon_head.png'),
|
||||
)),
|
||||
],
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: SingleChildScrollView(
|
||||
child: Container(
|
||||
margin: EdgeInsets.all(24),
|
||||
child: _buildInfo(),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildBar(BuildContext context) {
|
||||
return Container(
|
||||
height: kToolbarHeight,
|
||||
margin: EdgeInsets.only(top: MediaQuery.of(context).padding.top),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
GestureDetector(
|
||||
onTap: () => Navigator.of(context).pop(),
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(left: 10),
|
||||
child: Icon(
|
||||
Icons.arrow_back,
|
||||
size: 30,
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
FeedbackWidget(
|
||||
onPressed: () =>
|
||||
_launchURL("mailto:1981462002@qq.com?subject=来自Flutter Unit"),
|
||||
child: Icon(
|
||||
TolyIcon.icon_email,
|
||||
size: 20,
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 20,
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
_launchURL(String url) async {
|
||||
if (await canLaunch(url)) {
|
||||
await launch(url);
|
||||
} else {
|
||||
debugPrint('Could not launch $url');
|
||||
}
|
||||
}
|
||||
|
||||
Widget _buildInfo() {
|
||||
return Stack(
|
||||
children: <Widget>[
|
||||
Positioned(
|
||||
right: 10,
|
||||
top: 0,
|
||||
child: Wrap(
|
||||
spacing: 20,
|
||||
children: <Widget>[
|
||||
// FeedbackWidget(
|
||||
// onPressed: () => _launchURL(
|
||||
// "https://juejin.im/user/5b42c0656fb9a04fe727eb37"),
|
||||
// child: Wrap(
|
||||
// direction: Axis.vertical,
|
||||
// crossAxisAlignment: WrapCrossAlignment.center,
|
||||
// children: <Widget>[
|
||||
// Icon(
|
||||
// TolyIcon.icon_juejin,
|
||||
// size: 35,
|
||||
// color: Colors.blue,
|
||||
// ),
|
||||
// Text('掘金')
|
||||
// ],
|
||||
// )),
|
||||
FeedbackWidget(
|
||||
onPressed: () =>
|
||||
_launchURL("https://github.com/toly1994328/FlutterUnit"),
|
||||
child: Wrap(
|
||||
direction: Axis.vertical,
|
||||
crossAxisAlignment: WrapCrossAlignment.center,
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
TolyIcon.icon_github,
|
||||
size: 35,
|
||||
),
|
||||
Text('Github')
|
||||
],
|
||||
)),
|
||||
],
|
||||
),
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
'Flutter Unit',
|
||||
style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
Text(
|
||||
'The Unity Of Flutter, The Unity Of Coder.',
|
||||
style: TextStyle(fontSize: 16),
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
Text(
|
||||
'Flutter的联合,编程者的联合。',
|
||||
style: TextStyle(fontSize: 16),
|
||||
),
|
||||
Divider(
|
||||
height: 20,
|
||||
),
|
||||
InfoPanel(
|
||||
title: '项目简介',
|
||||
info: ' Flutter Unit 是一个非盈利性的开源项目,'
|
||||
'旨在提供全面的Flutter学习指南及编程者的交流技术的接口。'
|
||||
'由【张风捷特烈】提供技术支持和全权维护。唯一开源网站网址: '
|
||||
'https://github.com/toly1994328/FlutterUnit',
|
||||
),
|
||||
Divider(
|
||||
height: 20,
|
||||
),
|
||||
InfoPanel(
|
||||
title: 'Flutter Unit 1.0',
|
||||
info: 'Flutter Unit 1.0 核心计划是收录widget,即widget集录。'
|
||||
'目前收录组件204个,均可在app中进行查看。'
|
||||
'项目中提供widget图鉴文件可供下载参考。功能主要如下:\n'
|
||||
'○ 200+的Flutter 组件收录和详情介绍。\n'
|
||||
'○ 对一些重要的组件提供操作体验。\n'
|
||||
'○ link to功能,查看组件时可以切换到相关组件。\n'
|
||||
'○ 组件收藏和取消收藏功能。\n'
|
||||
'○ 主题设置,字体设置,代码风格等全局状态管理。\n'
|
||||
'○ 搜索功能和组件星级分类。',
|
||||
),
|
||||
Divider(
|
||||
height: 20,
|
||||
),
|
||||
InfoPanel(
|
||||
title: 'Flutter Unit 2.0 计划',
|
||||
info: 'Flutter Unit 2.0 尚在计划之中,如果说1.0是我单枪匹马,'
|
||||
'那2.0将是Flutter爱好者的共同努力。后面陆续会发布一些征集方案,'
|
||||
'包括属性、布局、绘制、bug、要点集录等。我想让Unit 成为一个Flutter的圣地,纯粹而强大,期待与你的共同携手。',
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class InfoPanel extends StatelessWidget {
|
||||
final String title;
|
||||
final String info;
|
||||
|
||||
|
||||
InfoPanel({this.title, this.info});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Circle(color: Theme.of(context).primaryColor,), Padding(
|
||||
padding: const EdgeInsets.only(left: 15,top: 15,bottom: 15),
|
||||
child: Text('$title',style: TextStyle(fontSize: 16,fontWeight: FontWeight.bold),),
|
||||
)
|
||||
],
|
||||
),
|
||||
Panel(
|
||||
color: Theme.of(context).primaryColor.withAlpha(33),
|
||||
child: Text(
|
||||
'$info',
|
||||
style: TextStyle(color: Colors.grey,
|
||||
shadows: [
|
||||
Shadow(
|
||||
color: Colors.white,
|
||||
offset: Offset(1,1)
|
||||
)
|
||||
]),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
206
lib/views/pages/about/about_me_page.dart
Normal file
206
lib/views/pages/about/about_me_page.dart
Normal file
@@ -0,0 +1,206 @@
|
||||
/// create by 张风捷特烈 on 2020-04-13
|
||||
/// contact me by email 1981462002@qq.com
|
||||
/// 说明:
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_unit/app/style/TolyIcon.dart';
|
||||
import 'package:flutter_unit/components/permanent/circle_image.dart';
|
||||
import 'package:flutter_unit/components/permanent/feedback_widget.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AboutMePage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
body: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Stack(
|
||||
children: <Widget>[
|
||||
Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
height: 200,
|
||||
width: MediaQuery.of(context).size.width,
|
||||
margin: EdgeInsets.only(bottom: 50),
|
||||
child: Image.asset(
|
||||
'assets/images/sabar.jpg',
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
_buildBar(context),
|
||||
Positioned(
|
||||
bottom: 0,
|
||||
left: 50,
|
||||
child: CircleImage(
|
||||
size: 100,
|
||||
shadowColor: Theme.of(context).primaryColor,
|
||||
image: AssetImage('assets/images/icon_head.png'),
|
||||
)),
|
||||
],
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
margin: EdgeInsets.all(24),
|
||||
child: Stack(children: <Widget>[
|
||||
Positioned(
|
||||
right: 10,
|
||||
top: 0,
|
||||
child: _buildLinkIcon(),
|
||||
),
|
||||
_buildInfo()
|
||||
]),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildBar(BuildContext context) {
|
||||
return Container(
|
||||
height: kToolbarHeight,
|
||||
margin: EdgeInsets.only(top: MediaQuery.of(context).padding.top),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
GestureDetector(
|
||||
onTap: () => Navigator.of(context).pop(),
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(left: 10),
|
||||
child: Icon(
|
||||
Icons.arrow_back,
|
||||
size: 30,
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
FeedbackWidget(
|
||||
onPressed: () =>
|
||||
_launchURL("mailto:1981462002@qq.com?subject=来自Flutter Unit"),
|
||||
child: Icon(
|
||||
TolyIcon.icon_email,
|
||||
size: 20,
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 20,
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
_launchURL(String url) async {
|
||||
if (await canLaunch(url)) {
|
||||
await launch(url);
|
||||
} else {
|
||||
debugPrint('Could not launch $url');
|
||||
}
|
||||
}
|
||||
|
||||
Widget _buildInfo() {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
'张风捷特烈',
|
||||
style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
Text(
|
||||
'The King Of Coder. 「编程之王」',
|
||||
style: TextStyle(fontSize: 16),
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
Text(
|
||||
'海的彼岸有我未曾见证的风采。',
|
||||
style: TextStyle(fontSize: 16),
|
||||
),
|
||||
Divider(
|
||||
height: 20,
|
||||
),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Text(
|
||||
'编程技术交流圣地-Flutter群,愿青梅煮酒,与君共话。',
|
||||
style: TextStyle(color: Colors.grey),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
width: 190,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Image.asset('assets/images/wechat.jpg'),
|
||||
Text(
|
||||
'我的微信',
|
||||
style: TextStyle(fontSize: 16),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
// Container(
|
||||
// width: 160,
|
||||
// child: Column(
|
||||
// children: <Widget>[
|
||||
// Image.asset('assets/images/wei_x.jpg'),
|
||||
// Text(
|
||||
// '请我喝茶(慎扫)',
|
||||
// style: TextStyle(fontSize: 16),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Wrap _buildLinkIcon() {
|
||||
return Wrap(
|
||||
spacing: 20,
|
||||
children: <Widget>[
|
||||
FeedbackWidget(
|
||||
onPressed: () =>
|
||||
_launchURL("https://juejin.im/user/5b42c0656fb9a04fe727eb37"),
|
||||
child: Wrap(
|
||||
direction: Axis.vertical,
|
||||
crossAxisAlignment: WrapCrossAlignment.center,
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
TolyIcon.icon_juejin,
|
||||
size: 35,
|
||||
color: Colors.blue,
|
||||
),
|
||||
Text('掘金')
|
||||
],
|
||||
)),
|
||||
FeedbackWidget(
|
||||
onPressed: () =>
|
||||
_launchURL("https://github.com/toly1994328"),
|
||||
child: Wrap(
|
||||
direction: Axis.vertical,
|
||||
crossAxisAlignment: WrapCrossAlignment.center,
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
TolyIcon.icon_github,
|
||||
size: 35,
|
||||
),
|
||||
SizedBox(height: 4,),
|
||||
Text('Github')
|
||||
],
|
||||
)),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,8 @@ import 'package:flutter_unit/views/pages/search/loading_page.dart';
|
||||
import 'package:flutter_unit/views/pages/search/not_search_page.dart';
|
||||
import 'package:flutter_unit/views/pages/search/start_filter.dart';
|
||||
|
||||
import '../pages/common/empty_page.dart';
|
||||
import 'empty_page.dart';
|
||||
|
||||
|
||||
class SearchPage extends StatefulWidget {
|
||||
@override
|
||||
@@ -79,12 +79,21 @@ class HomeDrawer extends StatelessWidget {
|
||||
),
|
||||
ListTile(
|
||||
leading: Icon(
|
||||
TolyIcon.icon_kafei,
|
||||
Icons.info,
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
title: Text('关于应用'),
|
||||
trailing: _nextIcon(context),
|
||||
onTap: () {},
|
||||
onTap: () => Navigator.of(context).pushNamed(Router.about_app),
|
||||
),
|
||||
ListTile(
|
||||
leading: Icon(
|
||||
TolyIcon.icon_kafei,
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
title: Text('联系本王'),
|
||||
trailing: _nextIcon(context),
|
||||
onTap: () => Navigator.of(context).pushNamed(Router.about_me),
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -116,9 +125,7 @@ class HomeDrawer extends StatelessWidget {
|
||||
),
|
||||
title: Text('绘画集录'),
|
||||
trailing: _nextIcon(context),
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(Router.paint);
|
||||
},
|
||||
onTap: () => Navigator.of(context).pushNamed(Router.paint),
|
||||
),
|
||||
ListTile(
|
||||
leading: Icon(
|
||||
|
||||
42
pubspec.lock
42
pubspec.lock
@@ -156,6 +156,13 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.0"
|
||||
plugin_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: plugin_platform_interface
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.2"
|
||||
provider:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -177,6 +184,13 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.23.1"
|
||||
share:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: share
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.6.3+6"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -287,6 +301,34 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.1.6"
|
||||
url_launcher:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: url_launcher
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "5.4.2"
|
||||
url_launcher_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_macos
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.0.1+4"
|
||||
url_launcher_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_platform_interface
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.6"
|
||||
url_launcher_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_web
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.1.1+1"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -28,6 +28,8 @@ dependencies:
|
||||
toggle_rotate: ^0.0.5
|
||||
flutter_star: ^0.1.2 # 星星组件
|
||||
shared_preferences: ^0.5.6+3 # xml 固化
|
||||
url_launcher: ^5.4.2 # url
|
||||
share: ^0.6.3+6
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
Reference in New Issue
Block a user