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

Lines changed: 11 additions & 11 deletions
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

Lines changed: 3 additions & 1 deletion
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

Lines changed: 65 additions & 35 deletions
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

Lines changed: 49 additions & 6 deletions
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

Lines changed: 8 additions & 6 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy