Skip to content

Commit c191f64

Browse files
committed
Fix: issue
1 parent 13dc057 commit c191f64

File tree

6 files changed

+179
-58
lines changed

6 files changed

+179
-58
lines changed

lib/common/helper/tip_helper.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ class TipHelper {
3636
theme: null,
3737
settings: RouteSettings(name: "/ai_awesome_message"),
3838
awesomeMessage: awesome_message.AwesomeHelper.createAwesome(
39-
title: "$title",
40-
message: "$message",
39+
title: "${title ?? "提示"}",
40+
message: "${message ?? "提示"}",
4141
tipType: awesomeTipType,
4242
),
4343
),

lib/component/main/MainPage.dart

Lines changed: 104 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import 'package:airoute/airoute.dart';
44
import 'package:flip_panel/flip_panel.dart';
55
import 'package:flutter/cupertino.dart';
66
import 'package:flutter/material.dart';
7+
import 'package:flutter_app_sample/component/main/main_view_model.dart';
78
import 'package:flutter_app_sample/global_view_model.dart';
9+
import 'package:provider/provider.dart';
810

911
import '../../common/helper/tip_helper.dart';
1012
import '../../common/helper/tip_type.dart';
@@ -67,6 +69,7 @@ class _MainState extends State<MainPage> {
6769
"Wave",
6870
"IconAnim",
6971
"Overlay",
72+
"Loading",
7073
];
7174
return _sortTitles;
7275
}
@@ -94,6 +97,7 @@ class _MainState extends State<MainPage> {
9497
"/MainWavePage",
9598
"/MainIconAnimPage",
9699
"/MainOverlayPage",
100+
"/MainLoadingPage",
97101
];
98102
return _sortRouteNames;
99103
}
@@ -127,6 +131,11 @@ class _MainState extends State<MainPage> {
127131
return _bottomNavigationWidgets;
128132
}
129133

134+
_setState(bool value) {
135+
_drawerOpenedRight = value;
136+
MainViewModel.getInstance().notify();
137+
}
138+
130139
///
131140
///获取列表
132141
ListView _getListView() {
@@ -206,7 +215,7 @@ class _MainState extends State<MainPage> {
206215
return items;
207216
}
208217

209-
Drawer _getDrawer() {
218+
Drawer _getDrawer({bool leftDraw = true}) {
210219
return Drawer(
211220
child: SingleChildScrollView(
212221
physics: BouncingScrollPhysics(),
@@ -282,24 +291,24 @@ class _MainState extends State<MainPage> {
282291
},
283292
trailing: Icon(Icons.arrow_right),
284293
),
285-
Divider(),
286-
ListTile(
287-
leading: Icon(
288-
Icons.more_horiz,
289-
color: Colors.blue,
290-
),
291-
title: Text("更多功能"),
292-
subtitle: Text(
293-
"紧急上线中...",
294-
),
295-
onTap: () {
296-
TipHelper.showTip(
297-
context: context,
298-
tipType: TipType.WARN,
299-
message: "紧急上线中...");
300-
},
301-
trailing: Icon(Icons.arrow_right),
302-
),
294+
// Divider(),
295+
// ListTile(
296+
// leading: Icon(
297+
// Icons.more_horiz,
298+
// color: Colors.blue,
299+
// ),
300+
// title: Text("更多功能"),
301+
// subtitle: Text(
302+
// "紧急上线中...",
303+
// ),
304+
// onTap: () {
305+
// TipHelper.showTip(
306+
// context: context,
307+
// tipType: TipType.WARN,
308+
// message: "紧急上线中...");
309+
// },
310+
// trailing: Icon(Icons.arrow_right),
311+
// ),
303312
Divider(),
304313
ExpansionTile(
305314
title: Text("小标签"),
@@ -348,25 +357,37 @@ class _MainState extends State<MainPage> {
348357
children: <Widget>[
349358
Wrap(
350359
children: <Widget>[
351-
ListTile(
352-
onTap: () {
353-
setState(
354-
() {
355-
_drawerOpenedRight = !_drawerOpenedRight;
356-
},
357-
);
358-
},
359-
leading: Text("开启右侧侧滑"),
360-
trailing: Switch(
361-
value: _drawerOpenedRight,
362-
onChanged: (bool value) {
363-
setState(
364-
() {
365-
_drawerOpenedRight = value;
366-
},
367-
);
368-
},
369-
),
360+
IgnorePointer(
361+
ignoring: (!leftDraw && _drawerOpenedRight),
362+
child: (!leftDraw && _drawerOpenedRight)
363+
? ColorFiltered(
364+
colorFilter: ColorFilter.mode(
365+
Colors.grey, BlendMode.srcIn),
366+
child: ListTile(
367+
onTap: () {
368+
_setState(!_drawerOpenedRight);
369+
},
370+
leading: Text("开启右侧侧滑"),
371+
trailing: Switch(
372+
value: _drawerOpenedRight,
373+
onChanged: (bool value) {
374+
_setState(value);
375+
},
376+
),
377+
),
378+
)
379+
: ListTile(
380+
onTap: () {
381+
_setState(!_drawerOpenedRight);
382+
},
383+
leading: Text("开启右侧侧滑"),
384+
trailing: Switch(
385+
value: _drawerOpenedRight,
386+
onChanged: (bool value) {
387+
_setState(value);
388+
},
389+
),
390+
),
370391
),
371392
],
372393
),
@@ -442,6 +463,23 @@ class _MainState extends State<MainPage> {
442463
children: <Widget>[
443464
Wrap(
444465
children: <Widget>[
466+
ListTile(
467+
onTap: () {
468+
setState(() {
469+
TipHelper.showTip(
470+
context: null, message: "努力开发中...");
471+
});
472+
},
473+
title: Text("常亮"),
474+
trailing: IgnorePointer(
475+
ignoring: true,
476+
child: Switch(
477+
value: false,
478+
onChanged: (bool value) {
479+
setState(() {});
480+
},
481+
),
482+
)),
445483
ListTile(
446484
onTap: () {
447485
Airoute.pushNamed(
@@ -492,24 +530,34 @@ class _MainState extends State<MainPage> {
492530

493531
@override
494532
Widget build(BuildContext context) {
495-
return Scaffold(
496-
appBar: AppBar(
497-
title: Text(
498-
"${_bottomNavigationTitles.elementAt(_bottomNavigationSelectedIndex)}"),
499-
),
500-
drawer: _getDrawer(),
501-
endDrawer: _drawerOpenedRight == true ? _getDrawer() : null,
502-
body: Center(
503-
child: getBottomNavigationWidgets()
504-
.elementAt(_bottomNavigationSelectedIndex),
505-
),
506-
bottomNavigationBar: BottomNavigationBar(
507-
showSelectedLabels: true,
508-
showUnselectedLabels: true,
509-
elevation: 5.0,
510-
currentIndex: _bottomNavigationSelectedIndex,
511-
items: _getBottomNavigationBar(),
512-
onTap: _bottomNavigationTap,
533+
return MultiProvider(
534+
providers: [
535+
ChangeNotifierProvider(
536+
create: (context) => MainViewModel.getInstance()),
537+
],
538+
child: Consumer<MainViewModel>(
539+
builder: (context, model, child) {
540+
return Scaffold(
541+
appBar: AppBar(
542+
title: Text(
543+
"${_bottomNavigationTitles.elementAt(_bottomNavigationSelectedIndex)}"),
544+
),
545+
drawer: _getDrawer(leftDraw: true),
546+
endDrawer: _drawerOpenedRight ? _getDrawer(leftDraw: false) : null,
547+
body: Center(
548+
child: getBottomNavigationWidgets()
549+
.elementAt(_bottomNavigationSelectedIndex),
550+
),
551+
bottomNavigationBar: BottomNavigationBar(
552+
showSelectedLabels: true,
553+
showUnselectedLabels: true,
554+
elevation: 5.0,
555+
currentIndex: _bottomNavigationSelectedIndex,
556+
items: _getBottomNavigationBar(),
557+
onTap: _bottomNavigationTap,
558+
),
559+
);
560+
},
513561
),
514562
);
515563
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import 'package:flutter/material.dart';
2+
3+
/// MainViewModel
4+
class MainViewModel extends ChangeNotifier {
5+
static MainViewModel _instance;
6+
7+
MainViewModel._();
8+
9+
static MainViewModel getInstance() {
10+
if (_instance == null) {
11+
_instance = MainViewModel._();
12+
}
13+
return _instance;
14+
}
15+
void notify(){
16+
notifyListeners();
17+
}
18+
19+
static void releaseInstance() {
20+
_instance = null;
21+
}
22+
}

lib/main.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import 'package:flutter_app_sample/sample/anim/OpacityAndAnimatedOpacityPage.dar
2121
import 'package:flutter_app_sample/sample/anim/TransformPage.dart';
2222
import 'package:flutter_app_sample/sample/drag/DragListPage.dart';
2323
import 'package:flutter_app_sample/sample/ink/ink_page.dart';
24+
import 'package:flutter_app_sample/sample/loading/main_loading_page.dart';
2425
import 'package:flutter_app_sample/sample/notifier/CardInfoPage.dart';
2526
import 'package:flutter_app_sample/sample/notifier/CardMainPage.dart';
2627
import 'package:flutter_app_sample/sample/popup/main_popup_page.dart';
@@ -136,6 +137,7 @@ class Test extends StatelessWidget {
136137
"/MainIconAnimPage": (_) => MainIconAnimPage(),
137138
"/MainOverlayPage": (_) => MainOverlayPage(),
138139
"/SimpleOverlayPage": (_) => SimpleOverlayPage(),
140+
"/MainLoadingPage": (_) => MainLoadingPage(),
139141
},
140142
);
141143
},
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:loading/indicator/ball_pulse_indicator.dart';
3+
import 'package:loading/loading.dart';
4+
5+
/// MainLoadingPage
6+
class MainLoadingPage extends StatefulWidget {
7+
@override
8+
State<StatefulWidget> createState() {
9+
return _MainLoadingState();
10+
}
11+
}
12+
13+
/// _MainLoadingState
14+
class _MainLoadingState extends State<MainLoadingPage> {
15+
@override
16+
Widget build(BuildContext context) {
17+
return Scaffold(
18+
appBar: AppBar(),
19+
body: SingleChildScrollView(
20+
child: Column(
21+
children: [
22+
Container(
23+
child: Center(
24+
child: Loading(
25+
indicator: BallPulseIndicator(),
26+
size: 100.0,
27+
color: Colors.pink),
28+
),
29+
),
30+
Container(
31+
child: Center(
32+
child: Loading(
33+
indicator: BallPulseIndicator(),
34+
size: 100.0,
35+
color: Colors.pink),
36+
),
37+
),
38+
],
39+
),
40+
),
41+
);
42+
}
43+
}

pubspec.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ dependencies:
8181

8282
# multiple style progress
8383
ai_progress: ^0.1.3
84+
85+
# loading
86+
loading: ^1.0.2
87+
88+
# wakelock
89+
wakelock: ^0.1.4+1
8490
dev_dependencies:
8591
flutter_test:
8692
sdk: flutter

0 commit comments

Comments
 (0)