Skip to content

Commit fb2fc55

Browse files
author
聂彬
committed
feat(app): 添加两组模版以及修改主页面
1 parent 31e3be3 commit fb2fc55

26 files changed

+206
-42
lines changed

lib/home/view.dart

+25-15
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,34 @@ import 'package:flutter_imitation/home/state.dart';
55
Widget buildHomeView(
66
HomeState state, Dispatch dispatch, ViewService viewService) {
77
return Scaffold(
8-
appBar: AppBar(
9-
title: Text("Pozion Imitation"),
10-
),
11-
body: ListView.separated(
8+
appBar: AppBar(
9+
title: Text("Pozion Imitation"),
10+
),
11+
body: GridView.builder(
12+
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
13+
mainAxisSpacing: 0,
14+
crossAxisSpacing: 0,
15+
childAspectRatio: 0.9,
16+
crossAxisCount: 2),
17+
itemCount: state.values.length,
1218
itemBuilder: (context, index) => GestureDetector(
13-
child: Padding(
14-
padding: EdgeInsets.all(20),
15-
child: Text(state.values[index].first),
19+
child: InkWell(
20+
child: Card(
21+
child: Center(
22+
child: Text(
23+
state.values[index].first,
24+
style: TextStyle(
25+
fontSize: 20,
26+
color: Colors.blue,
27+
fontWeight: FontWeight.w700),
28+
),
29+
),
1630
),
1731
onTap: () => Navigator.push(
1832
context,
1933
MaterialPageRoute(
20-
builder: (context) => state.values[index].second))),
21-
separatorBuilder: (context, index) => GestureDetector(
22-
child: Divider(
23-
height: 1,
24-
color: Colors.grey[400],
25-
)),
26-
itemCount: state.values.length),
27-
);
34+
builder: (context) => state.values[index].second)),
35+
),
36+
),
37+
));
2838
}

lib/imitation/_imitation.dart

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
export 'douban/home/home.dart';
2-
export 'gank_io//home/home.dart';
3-
export 'wan_android//home/home.dart';
4-
export 'widget/home/home.dart';
2+
export 'gank/home/home.dart';
3+
export 'wandroid//home/home.dart';
4+
export "movie/home/home.dart";
5+
export "todo/home/home.dart";
6+
export "comic/home/home.dart";
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class BookIndex extends StatelessWidget{
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('WanAndroid公众号页'),
8+
);
9+
}
10+
}

lib/imitation/comic/home/home.dart

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import 'package:fish_redux/fish_redux.dart';
2+
import 'package:flutter/material.dart';
3+
import 'package:flutter_imitation/common/child_home/reducer.dart';
4+
import 'package:flutter_imitation/common/child_home/state.dart';
5+
import 'package:flutter_imitation/common/child_home/view.dart';
6+
import 'package:flutter_imitation/imitation/comic/index/index_index.dart';
7+
import 'package:flutter_imitation/imitation/comic/mine/mine_index.dart';
8+
import 'package:flutter_imitation/imitation/comic/video/video_index.dart';
9+
import 'package:flutter_imitation/imitation/comic/book/book_index.dart';
10+
import 'package:flutter_imitation/util/pair.dart';
11+
12+
String _WAN_ANDROID = "https://github.com/phoenixsky/fun_android_flutter";
13+
14+
class ComicMainPage extends Page<CommonHomeModel, Map<String, dynamic>> {
15+
ComicMainPage()
16+
: super(
17+
initState: _buildCommonHomeModel,
18+
view: buildCommonHomeView,
19+
reducer: buildReducer());
20+
}
21+
22+
CommonHomeModel _buildCommonHomeModel(Map<String, dynamic> args) {
23+
var commonHomeModel = <Pair<BottomNavigationModel, Widget>>[
24+
Pair(BottomNavigationModel(Icons.home, "首页", Colors.grey), IndexIndex()),
25+
Pair(BottomNavigationModel(Icons.video_call, "短视频", Colors.grey),
26+
VideoIndex()),
27+
Pair(BottomNavigationModel(Icons.book, "书架", Colors.grey), BookIndex()),
28+
Pair(BottomNavigationModel(Icons.person, "我的", Colors.grey), MineIndex()),
29+
];
30+
31+
return CommonHomeModel(commonHomeModel);
32+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class IndexIndex extends StatelessWidget {
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('首页'),
8+
);
9+
}
10+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class MineIndex extends StatelessWidget {
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('我的'),
8+
);
9+
}
10+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class VideoIndex extends StatelessWidget{
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('WanAndroid项目页'),
8+
);
9+
}
10+
}

lib/imitation/gank_io/home/home.dart renamed to lib/imitation/gank/home/home.dart

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import 'package:flutter/material.dart';
33
import 'package:flutter_imitation/common/child_home/reducer.dart';
44
import 'package:flutter_imitation/common/child_home/state.dart';
55
import 'package:flutter_imitation/common/child_home/view.dart';
6-
import 'package:flutter_imitation/imitation/gank_io/class/class_index.dart';
7-
import 'package:flutter_imitation/imitation/gank_io/collection_index/collection_index.dart';
8-
import 'package:flutter_imitation/imitation/gank_io/girl/girl_index.dart';
9-
import 'package:flutter_imitation/imitation/gank_io/newest/newest_index.dart';
6+
import 'package:flutter_imitation/imitation/gank/class/class_index.dart';
7+
import 'package:flutter_imitation/imitation/gank/collection_index/collection_index.dart';
8+
import 'package:flutter_imitation/imitation/gank/girl/girl_index.dart';
9+
import 'package:flutter_imitation/imitation/gank/newest/newest_index.dart';
1010
import 'package:flutter_imitation/util/pair.dart';
1111

1212
String _GANK_IO = "https://github.com/lijinshanmx/flutter_gank";

lib/imitation/movie/home/home.dart

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import 'package:fish_redux/fish_redux.dart';
2+
import 'package:flutter/material.dart';
3+
import 'package:flutter_imitation/common/child_home/reducer.dart';
4+
import 'package:flutter_imitation/common/child_home/state.dart';
5+
import 'package:flutter_imitation/common/child_home/view.dart';
6+
import 'package:flutter_imitation/imitation/movie/index/index_index.dart';
7+
import 'package:flutter_imitation/imitation/movie/mine/mine_index.dart';
8+
import 'package:flutter_imitation/util/pair.dart';
9+
10+
String _WAN_ANDROID = "https://github.com/phoenixsky/fun_android_flutter";
11+
12+
class MovieMainPage extends Page<CommonHomeModel, Map<String, dynamic>> {
13+
MovieMainPage()
14+
: super(
15+
initState: _buildCommonHomeModel,
16+
view: buildCommonHomeView,
17+
reducer: buildReducer());
18+
}
19+
20+
CommonHomeModel _buildCommonHomeModel(Map<String, dynamic> args) {
21+
var commonHomeModel = <Pair<BottomNavigationModel, Widget>>[
22+
Pair(BottomNavigationModel(Icons.home, "首页", Colors.grey), IndexIndex()),
23+
Pair(BottomNavigationModel(Icons.person, "我的", Colors.grey), MineIndex()),
24+
];
25+
26+
return CommonHomeModel(commonHomeModel);
27+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class IndexIndex extends StatelessWidget{
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('首页'),
8+
);
9+
}
10+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class MineIndex extends StatelessWidget {
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('我的'),
8+
);
9+
}
10+
}

lib/imitation/todo/home/home.dart

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import 'package:fish_redux/fish_redux.dart';
2+
import 'package:flutter/material.dart';
3+
import 'package:flutter_imitation/common/child_home/reducer.dart';
4+
import 'package:flutter_imitation/common/child_home/state.dart';
5+
import 'package:flutter_imitation/common/child_home/view.dart';
6+
import 'package:flutter_imitation/imitation/todo/mine/mine_index.dart';
7+
import 'package:flutter_imitation/imitation/todo/index/index_index.dart';
8+
import 'package:flutter_imitation/util/pair.dart';
9+
10+
class TodoMainPage extends Page<CommonHomeModel, Map<String, dynamic>> {
11+
TodoMainPage()
12+
: super(
13+
initState: _buildCommonHomeModel,
14+
view: buildCommonHomeView,
15+
reducer: buildReducer());
16+
}
17+
18+
CommonHomeModel _buildCommonHomeModel(Map<String, dynamic> args) {
19+
var commonHomeModel = <Pair<BottomNavigationModel, Widget>>[
20+
Pair(BottomNavigationModel(Icons.home, "首页", Colors.grey), IndexIndex()),
21+
Pair(BottomNavigationModel(Icons.home, "我的", Colors.grey), MineIndex()),
22+
];
23+
24+
return CommonHomeModel(commonHomeModel);
25+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class IndexIndex extends StatelessWidget {
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('Todo首页'),
8+
);
9+
}
10+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:flutter/material.dart';
2+
3+
class MineIndex extends StatelessWidget {
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(
7+
child: Text('我的'),
8+
);
9+
}
10+
}

lib/imitation/wan_android/home/home.dart renamed to lib/imitation/wandroid/home/home.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import 'package:flutter/material.dart';
33
import 'package:flutter_imitation/common/child_home/reducer.dart';
44
import 'package:flutter_imitation/common/child_home/state.dart';
55
import 'package:flutter_imitation/common/child_home/view.dart';
6-
import 'package:flutter_imitation/imitation/wan_android/index/index_index.dart';
7-
import 'package:flutter_imitation/imitation/wan_android/mine/mine_index.dart';
8-
import 'package:flutter_imitation/imitation/wan_android/projects/projects_index.dart';
9-
import 'package:flutter_imitation/imitation/wan_android/public/public_index.dart';
10-
import 'package:flutter_imitation/imitation/wan_android/system/system_index.dart';
6+
import 'package:flutter_imitation/imitation/wandroid/index/index_index.dart';
7+
import 'package:flutter_imitation/imitation/wandroid/mine/mine_index.dart';
8+
import 'package:flutter_imitation/imitation/wandroid/projects/projects_index.dart';
9+
import 'package:flutter_imitation/imitation/wandroid/public/public_index.dart';
10+
import 'package:flutter_imitation/imitation/wandroid/system/system_index.dart';
1111
import 'package:flutter_imitation/util/pair.dart';
1212

1313
String _WAN_ANDROID = "https://github.com/phoenixsky/fun_android_flutter";

lib/imitation/widget/home/home.dart

-14
This file was deleted.

lib/main.dart

+3-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ Map<String, Widget> pages = <String, Widget>{
1212
"Douban": DoubanHomePage().buildPage(null),
1313
"GankIO": GankIOHomePage().buildPage(null),
1414
"WanAndroid": WanAndroidHomePage().buildPage(null),
15-
"Widgets": WidgetHomePage().buildPage(null),
15+
"Movie": MovieMainPage().buildPage(null),
16+
"Todo": TodoMainPage().buildPage(null),
17+
"Comic": ComicMainPage().buildPage(null),
1618
};
1719

1820
Route<BuildContext> navigatorToPage(Page page) {

0 commit comments

Comments
 (0)