Skip to content

Commit 28a4d89

Browse files
authored
Merge pull request #6 from nb312/dev
modify the main page.
2 parents f50a4b9 + a4c70ea commit 28a4d89

22 files changed

+136
-59
lines changed
Loading
Loading
Loading
Loading
Loading

images/main/ic_launcher.png

-10 KB
Loading

images/main/pic01.png

1.37 MB
Loading

images/main/pic02.png

360 KB
Loading

images/main/pic03.png

651 KB
Loading

images/main/pic04.png

216 KB
Loading

images/main/pic05.png

225 KB
Loading

images/main/pic06.png

906 KB
Loading

images/main/pic07.png

370 KB
Loading

images/main/pic08.png

741 KB
Loading

images/main/pic09.png

679 KB
Loading

images/main/pic10.png

218 KB
Loading

images/main/pic11.png

214 KB
Loading

lib/const/images_const.dart

+11-11
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ class ImagePath {
2323
class MainImagePath {
2424
static const String image_path = "images/main";
2525
static const String image_app = "$image_path/ic_launcher.png";
26-
static const String image_header= "$image_path/main_background.png";
27-
static const String image_sign_up = "$image_path/main_background.png";
28-
static const String image_walk_through = "$image_path/main_background.png";
29-
static const String image_navigation = "$image_path/main_background.png";
30-
static const String image_profile = "$image_path/main_background.png";
31-
static const String image_feed = "$image_path/main_background.png";
32-
static const String image_chat = "$image_path/main_background.png";
33-
static const String image_shopping = "$image_path/main_background.png";
34-
static const String image_statistic = "$image_path/main_background.png";
35-
static const String image_media = "$image_path/main_background.png";
36-
static const String image_camera = "$image_path/main_background.png";
26+
static const String image_header = "$image_path/pic04.png";
27+
static const String image_sign_up = "$image_path/pic03.png";
28+
static const String image_walk_through = "$image_path/pic01.png";
29+
static const String image_navigation = "$image_path/pic05.png";
30+
static const String image_profile = "$image_path/pic06.png";
31+
static const String image_feed = "$image_path/pic02.png";
32+
static const String image_chat = "$image_path/pic08.png";
33+
static const String image_shopping = "$image_path/pic09.png";
34+
static const String image_statistic = "$image_path/pic10.png";
35+
static const String image_media = "$image_path/pic11.png";
36+
static const String image_camera = "$image_path/pic01.png";
3737
}

lib/main.dart

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,19 @@ import 'const/string_const.dart';
44
import 'const/color_const.dart';
55
import 'const/page_str_const.dart';
66
import "page/page_const.dart";
7+
import 'package:flutter/services.dart';
78

89
void main() => runApp(MyApp());
910

1011
class MyApp extends StatelessWidget {
1112
// This widget is the root of your application.
1213
@override
1314
Widget build(BuildContext context) {
15+
SystemChrome.setEnabledSystemUIOverlays([]);
1416
return MaterialApp(
1517
title: StringConst.APP_NAME,
1618
debugShowCheckedModeBanner: false,
17-
theme: ThemeData(primaryColor: MAIN_COLOR, accentColor: MAIN_COLOR),
19+
theme: ThemeData(primaryColor: BLUE, accentColor: TEXT_BLACK_LIGHT),
1820
home: HomePage(),
1921
routes: {
2022
SIGN_UP_PAGES[0]: (context) => SignPageOne(),

lib/page/home_page.dart

+65-35
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ import 'package:flutter_ui_nice/const/size_const.dart';
1212
import 'package:flutter_ui_nice/const/images_const.dart';
1313
import 'package:flutter_ui_nice/const/color_const.dart';
1414
import 'package:flutter_ui_nice/util/SizeUtil.dart';
15+
import 'package:flutter_ui_nice/util/GradientUtil.dart';
1516

1617
class HomePage extends StatelessWidget {
1718
final _scaffoldState = GlobalKey<ScaffoldState>();
1819

1920
Widget _topBar() => SliverAppBar(
2021
elevation: 1.0,
2122
pinned: true,
23+
backgroundColor: BLUE,
2224
expandedHeight: 150.0,
2325
flexibleSpace: FlexibleSpaceBar(
2426
title: Padding(
@@ -33,10 +35,10 @@ class HomePage extends StatelessWidget {
3335
SizedBox(
3436
width: 6.0,
3537
),
36-
Text(
37-
StringConst.APP_NAME,
38-
style: TextStyle(color: Colors.white),
39-
)
38+
Text(StringConst.APP_NAME,
39+
style: TextStyle(
40+
color: TEXT_BLACK_LIGHT,
41+
))
4042
],
4143
),
4244
),
@@ -56,12 +58,8 @@ class HomePage extends StatelessWidget {
5658
return InkWell(
5759
child: Container(
5860
padding: EdgeInsets.symmetric(horizontal: 20.0),
59-
decoration: BoxDecoration(boxShadow: [
60-
BoxShadow(
61-
color: Colors.grey[800],
62-
offset: Offset(0.0, 2.0),
63-
)
64-
]),
61+
margin: EdgeInsets.only(bottom: 1.0),
62+
decoration: BoxDecoration(gradient: GradientUtil.greenPurple()),
6563
constraints: BoxConstraints.expand(height: 60.0),
6664
child: Column(
6765
crossAxisAlignment: CrossAxisAlignment.start,
@@ -70,7 +68,7 @@ class HomePage extends StatelessWidget {
7068
Text(
7169
item,
7270
style: TextStyle(
73-
color: Colors.white,
71+
color: TEXT_BLACK_LIGHT,
7472
fontSize: TEXT_NORMAL_SIZE,
7573
fontWeight: FontWeight.w700),
7674
),
@@ -83,7 +81,7 @@ class HomePage extends StatelessWidget {
8381
),
8482
),
8583
onTap: () {
86-
Navigator.pop(context);
84+
// Navigator.pop(context);
8785
Navigator.pushNamed(context, "$item");
8886
},
8987
);
@@ -103,10 +101,7 @@ class HomePage extends StatelessWidget {
103101
child: Container(
104102
padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 4.0),
105103
decoration: BoxDecoration(
106-
gradient: LinearGradient(colors: [
107-
PURPLE,
108-
Colors.grey[900],
109-
]),
104+
gradient: GradientUtil.yellowGreen(),
110105
),
111106
constraints: BoxConstraints.expand(height: 80.0),
112107
child: Center(
@@ -121,8 +116,8 @@ class HomePage extends StatelessWidget {
121116
),
122117
Text(
123118
StringConst.CREATE_BY,
124-
style:
125-
TextStyle(color: Colors.white, fontSize: TEXT_NORMAL_SIZE),
119+
style: TextStyle(
120+
color: TEXT_BLACK_LIGHT, fontSize: TEXT_NORMAL_SIZE),
126121
),
127122
],
128123
),
@@ -135,18 +130,22 @@ class HomePage extends StatelessWidget {
135130
showModalBottomSheet(
136131
context: context,
137132
builder: (context) => Material(
138-
color: Colors.white,
133+
color: GREEN,
139134
clipBehavior: Clip.antiAliasWithSaveLayer,
140135
shape: RoundedRectangleBorder(
141-
borderRadius: BorderRadius.only(
142-
topLeft: Radius.circular(20.0),
143-
topRight: Radius.circular(20.0))),
136+
borderRadius: BorderRadius.only(
137+
topLeft: Radius.circular(20.0),
138+
topRight: Radius.circular(20.0),
139+
),
140+
),
144141
child: Column(
145142
mainAxisAlignment: MainAxisAlignment.spaceAround,
146143
children: <Widget>[
147144
_header(),
148145
Expanded(
149-
child: _menuList(menu),
146+
child: Container(
147+
child: _menuList(menu),
148+
),
150149
),
151150
AboutMeTitle(),
152151
],
@@ -155,7 +154,41 @@ class HomePage extends StatelessWidget {
155154
);
156155
}
157156

158-
Widget _gridItem(context, Menu menu) => InkWell(
157+
LinearGradient _itemGradient(index) {
158+
var gradient = GradientUtil.red(
159+
begin: AlignmentDirectional.topStart,
160+
end: AlignmentDirectional.bottomEnd,
161+
opacity: 0.7);
162+
switch (index % 4) {
163+
case 0:
164+
gradient = GradientUtil.red(
165+
begin: AlignmentDirectional.topStart,
166+
end: AlignmentDirectional.bottomEnd,
167+
opacity: 0.7);
168+
break;
169+
case 1:
170+
gradient = GradientUtil.greenPurple(
171+
begin: AlignmentDirectional.topStart,
172+
end: AlignmentDirectional.bottomEnd,
173+
opacity: 0.7);
174+
break;
175+
case 2:
176+
gradient = GradientUtil.greenRed(
177+
begin: AlignmentDirectional.topStart,
178+
end: AlignmentDirectional.bottomEnd,
179+
opacity: 0.7);
180+
break;
181+
case 3:
182+
gradient = GradientUtil.yellowBlue(
183+
begin: AlignmentDirectional.topStart,
184+
end: AlignmentDirectional.bottomEnd,
185+
opacity: 0.7);
186+
break;
187+
}
188+
return gradient;
189+
}
190+
191+
Widget _gridItem(context, Menu menu, index) => InkWell(
159192
onTap: () {
160193
_clickMenu(context, menu);
161194
},
@@ -168,11 +201,7 @@ class HomePage extends StatelessWidget {
168201
),
169202
Container(
170203
constraints: BoxConstraints.expand(),
171-
decoration: BoxDecoration(
172-
gradient: RadialGradient(
173-
colors: [PURPLE, Colors.grey[850].withOpacity(0.9)],
174-
radius: 0.3),
175-
),
204+
decoration: BoxDecoration(gradient: _itemGradient(index)),
176205
),
177206
Container(
178207
constraints: BoxConstraints.expand(),
@@ -183,15 +212,18 @@ class HomePage extends StatelessWidget {
183212
children: <Widget>[
184213
Icon(
185214
menu.icon,
186-
color: Colors.white,
215+
color: TEXT_BLACK_LIGHT,
216+
size: 40.0,
187217
),
188218
SizedBox(
189219
height: 4.0,
190220
),
191221
Text(
192222
menu.title,
193223
style: TextStyle(
194-
color: Colors.white, fontWeight: FontWeight.w700),
224+
color: TEXT_BLACK_LIGHT,
225+
fontWeight: FontWeight.w700,
226+
fontSize: 16.0),
195227
)
196228
],
197229
),
@@ -205,11 +237,11 @@ class HomePage extends StatelessWidget {
205237
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
206238
mainAxisSpacing: 4.0,
207239
crossAxisSpacing: 4.0,
208-
childAspectRatio: 1.0,
240+
childAspectRatio: 0.8,
209241
crossAxisCount: 2),
210242
delegate: SliverChildBuilderDelegate((context, index) {
211243
var menu = list[index];
212-
return _gridItem(context, menu);
244+
return _gridItem(context, menu, index);
213245
}, childCount: list.length),
214246
);
215247

@@ -242,8 +274,6 @@ class HomePage extends StatelessWidget {
242274
@override
243275
Widget build(BuildContext context) {
244276
SizeUtil.size = MediaQuery.of(context).size;
245-
var size = MediaQuery.of(context).size;
246-
print("width :${size.width},height:${size.height}");
247277
return _showAndroid(context);
248278
}
249279
}

lib/util/GradientUtil.dart

+49-6
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,57 @@ import "package:flutter/material.dart";
77
import 'package:flutter_ui_nice/const/color_const.dart';
88

99
class GradientUtil {
10-
static LinearGradient _getLinearGradient(left, right) =>
11-
LinearGradient(colors: [left, right]);
10+
static LinearGradient _getLinearGradient(Color left, Color right,
11+
{begin = AlignmentDirectional.centerStart,
12+
end = AlignmentDirectional.centerEnd,
13+
opacity = 1.0}) =>
14+
LinearGradient(
15+
colors: [
16+
left.withOpacity(opacity),
17+
right.withOpacity(opacity),
18+
],
19+
begin: begin,
20+
end: end,
21+
);
1222

13-
static LinearGradient yellowGreen() => _getLinearGradient(YELLOW, GREEN);
23+
static LinearGradient yellowGreen(
24+
{begin = AlignmentDirectional.centerStart,
25+
end = AlignmentDirectional.centerEnd,
26+
opacity = 1.0}) =>
27+
_getLinearGradient(YELLOW, GREEN,
28+
begin: begin, end: end, opacity: opacity);
1429

15-
static LinearGradient red() => _getLinearGradient(RED_LIGHT, RED);
30+
static LinearGradient red(
31+
{begin = AlignmentDirectional.centerStart,
32+
end = AlignmentDirectional.centerEnd,
33+
opacity = 1.0}) =>
34+
_getLinearGradient(RED_LIGHT, RED,
35+
begin: begin, end: end, opacity: opacity);
1636

17-
static LinearGradient yellowBlue() => _getLinearGradient(YELLOW, BLUE);
37+
static LinearGradient yellowBlue(
38+
{begin = AlignmentDirectional.centerStart,
39+
end = AlignmentDirectional.centerEnd,
40+
opacity = 1.0}) =>
41+
_getLinearGradient(YELLOW, BLUE,
42+
begin: begin, end: end, opacity: opacity);
1843

19-
static LinearGradient blue() => _getLinearGradient(BLUE_LIGHT, BLUE_DEEP);
44+
static LinearGradient blue(
45+
{begin = AlignmentDirectional.centerStart,
46+
end = AlignmentDirectional.centerEnd,
47+
opacity = 1.0}) =>
48+
_getLinearGradient(BLUE_LIGHT, BLUE_DEEP,
49+
begin: begin, end: end, opacity: opacity);
50+
51+
static LinearGradient greenRed(
52+
{begin = AlignmentDirectional.centerStart,
53+
end = AlignmentDirectional.centerEnd,
54+
opacity = 1.0}) =>
55+
_getLinearGradient(GREEN, RED, begin: begin, end: end, opacity: opacity);
56+
57+
static LinearGradient greenPurple(
58+
{begin = AlignmentDirectional.centerStart,
59+
end = AlignmentDirectional.centerEnd,
60+
opacity = 1.0}) =>
61+
_getLinearGradient(GREEN, PURPLE,
62+
begin: begin, end: end, opacity: opacity);
2063
}

lib/view/AboutMeTitle.dart

+8-6
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,25 @@
66
import "package:flutter/material.dart";
77
import 'package:flutter_ui_nice/const/string_const.dart';
88
import 'package:flutter_ui_nice/const/color_const.dart';
9+
import 'package:flutter_ui_nice/const/images_const.dart';
910

1011
class AboutMeTitle extends AboutListTile {
1112
AboutMeTitle()
1213
: super(
13-
icon: FlutterLogo(
14-
colors: Colors.deepPurple,
15-
textColor: Colors.grey[900],
14+
icon: Image.asset(
15+
MainImagePath.image_app,
16+
width: 40.0,
17+
height: 40.0,
1618
),
1719
applicationName: StringConst.APP_NAME,
18-
applicationVersion: "1.0.1",
19-
applicationLegalese: "Apache License 2.0",
20+
applicationVersion: "1.0",
21+
applicationLegalese: "MIT License 2.0",
2022
aboutBoxChildren: [
2123
Padding(
2224
padding: EdgeInsets.symmetric(horizontal: 24.0, vertical: 4.0),
2325
child: Text(
2426
StringConst.CREATE_BY,
25-
style: TextStyle(color: BLUE),
27+
style: TextStyle(color: TEXT_BLACK_LIGHT),
2628
),
2729
)
2830
]);

0 commit comments

Comments
 (0)