Skip to content

Commit f2c7ce3

Browse files
author
xujh
committed
fix update
1 parent 78f3785 commit f2c7ce3

24 files changed

+88
-1326
lines changed

lib/demo/image_colors.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
//import 'package:palette_generator/palette_generator.dart';
2-
import 'package:doubanapp/util/palette_generator.dart';
32
import 'package:flutter/rendering.dart';
43
import 'package:flutter/material.dart';
54
import 'dart:math' as math;
5+
import 'package:palette_generator/palette_generator.dart';
66

77

88
const Color _kBackgroundColor = Color(0xffa0a0a0);

lib/demo/my_scroll_view.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ abstract class BoxScrollView extends ScrollView {
471471
Widget sliver = buildChildLayout(context);
472472
EdgeInsetsGeometry effectivePadding = padding;
473473
if (padding == null) {
474-
final MediaQueryData mediaQuery = MediaQuery.of(context, nullOk: true);
474+
final MediaQueryData mediaQuery = MediaQuery.of(context);
475475
if (mediaQuery != null) {
476476
// Automatically pad sliver with padding from MediaQuery.
477477
final EdgeInsets mediaQueryHorizontalPadding =

lib/demo/my_scrollable.dart

+10-2
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,7 @@ class Scrollable extends StatefulWidget {
195195
/// ScrollableState scrollable = Scrollable.of(context);
196196
/// ```
197197
static ScrollableState of(BuildContext context) {
198-
final _ScrollableScope widget =
199-
context.inheritFromWidgetOfExactType(_ScrollableScope);
198+
final _ScrollableScope widget = context.dependOnInheritedWidgetOfExactType<_ScrollableScope>();
200199
return widget?.scrollable;
201200
}
202201

@@ -567,6 +566,15 @@ class ScrollableState extends State<Scrollable>
567566
super.debugFillProperties(properties);
568567
properties.add(DiagnosticsProperty<ScrollPosition>('position', position));
569568
}
569+
570+
@override
571+
void saveOffset(double offset) {
572+
// // TODO: implement saveOffset
573+
// _persistedScrollOffset.value = offset;
574+
// // [saveOffset] is called after a scrolling ends and it is usually not
575+
// // followed by a frame. Therefore, manually flush restoration data.
576+
// ServicesBinding.instance!.restorationManager.flushData();
577+
}
570578
}
571579

572580
/// With [_ScrollSemantics] certain child [SemanticsNode]s can be

lib/http/API.dart

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ import 'package:doubanapp/bean/comments_entity.dart';
88
import 'package:doubanapp/bean/search_result_entity.dart';
99
import 'package:doubanapp/bean/celebrity_entity.dart' as celebrity;
1010
import 'package:doubanapp/bean/celebrity_work_entity.dart';
11-
import 'package:doubanapp/util/palette_generator.dart';
1211
import 'dart:math' as math;
1312
//import 'package:palette_generator/palette_generator.dart';
1413
import 'package:flutter/material.dart';
1514
import 'package:doubanapp/bean/movie_long_comments_entity.dart';
15+
import 'package:palette_generator/palette_generator.dart';
1616
typedef RequestCallBack<T> = void Function(T value);
1717

1818
class API {
@@ -75,6 +75,7 @@ class API {
7575

7676
///影院热映 + 即将上映
7777
void getHotComingSoon(RequestCallBack requestCallBack) async {
78+
7879
//影院热映
7980
Map result = await _request.get(IN_THEATERS);
8081
var resultList = result['subjects'];

lib/main.dart

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ class MyApp extends StatelessWidget {
2323
child: MaterialApp(
2424
theme: ThemeData(backgroundColor: Colors.white),
2525
home: Scaffold(
26-
resizeToAvoidBottomPadding: false,
2726
body: SplashWidget(),
2827
),
2928
),
@@ -42,7 +41,7 @@ class RestartWidget extends StatefulWidget {
4241

4342
static restartApp(BuildContext context) {
4443
final _RestartWidgetState state =
45-
context.ancestorStateOfType(const TypeMatcher<_RestartWidgetState>());
44+
context.findAncestorStateOfType<_RestartWidgetState>();
4645
state.restartApp();
4746
}
4847

lib/pages/detail/detail_page.dart

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import 'package:cached_network_image/cached_network_image.dart';
2-
import 'package:doubanapp/util/palette_generator.dart';
32
import 'package:flutter/material.dart';
43
import 'package:flutter/cupertino.dart';
54
import 'package:doubanapp/http/API.dart';
@@ -23,6 +22,7 @@ import 'package:flutter/material.dart';
2322
import 'package:doubanapp/http/http_request.dart';
2423
import 'package:doubanapp/http/mock_request.dart';
2524
import 'package:doubanapp/widgets/loading_widget.dart';
25+
import 'package:palette_generator/palette_generator.dart';
2626
import '../../bean/movie_long_comments_entity.dart';
2727
import '../../widgets/bottom_drag_widget.dart';
2828
import 'long_comment_widget.dart';
@@ -247,7 +247,7 @@ class _DetailPageState extends State<DetailPage> {
247247
],
248248
),
249249
onTap: () {
250-
Router.push(context, Router.personDetailPage,
250+
MyRouter.push(context, MyRouter.personDetailPage,
251251
{'personImgUrl': imgUrl, 'id': id});
252252
},
253253
),
@@ -327,7 +327,7 @@ class _DetailPageState extends State<DetailPage> {
327327
),
328328
),
329329
onTap: () {
330-
Router.push(context, Router.playListPage,
330+
MyRouter.push(context, MyRouter.playListPage,
331331
_movieDetailBean.trailers);
332332
},
333333
);
@@ -493,7 +493,7 @@ class _DetailPageState extends State<DetailPage> {
493493
padding: EdgeInsets.all(12.0),
494494
),
495495
onTap: () {
496-
Router.push(context, bean.author.alt, {'title': '个人主页'});
496+
MyRouter.push(context, bean.author.alt, {'title': '个人主页'});
497497
},
498498
);
499499
}

lib/pages/douya_top_250_list_widget.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class DouBanState extends State<DouBanListView>
6868
),
6969
onTap: () {
7070
//监听点击事件
71-
Router.push(context, Router.detailPage, bean.id);
71+
MyRouter.push(context, MyRouter.detailPage, bean.id);
7272
},
7373
);
7474
});

lib/pages/group/group_page.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class GroupPage extends StatelessWidget {
2121
margin: EdgeInsets.all(Constant.MARGIN_RIGHT),
2222
hintText: hintText,
2323
onTab: () {
24-
Router.push(context, Router.searchPage, hintText);
24+
MyRouter.push(context, MyRouter.searchPage, hintText);
2525
},
2626
),
2727
Expanded(
@@ -133,7 +133,7 @@ class _GroupWidgetState extends State<_GroupWidget> {
133133
],
134134
),
135135
onTap: () {
136-
Router.push(context, Router.detailPage, bean.id);
136+
MyRouter.push(context, MyRouter.detailPage, bean.id);
137137
},
138138
);
139139
}

lib/pages/home/home_app_bar.dart

+15-23
Original file line numberDiff line numberDiff line change
@@ -345,19 +345,6 @@ class AppBar extends StatefulWidget implements PreferredSizeWidget {
345345
@override
346346
final Size preferredSize;
347347

348-
bool _getEffectiveCenterTitle(ThemeData themeData) {
349-
if (centerTitle != null) return centerTitle;
350-
assert(themeData.platform != null);
351-
switch (themeData.platform) {
352-
case TargetPlatform.android:
353-
case TargetPlatform.fuchsia:
354-
return false;
355-
case TargetPlatform.iOS:
356-
return actions == null || actions.length < 2;
357-
}
358-
return null;
359-
}
360-
361348
@override
362349
_AppBarState createState() => _AppBarState();
363350
}
@@ -379,7 +366,7 @@ class _AppBarState extends State<AppBar> {
379366
assert(debugCheckHasMaterialLocalizations(context));
380367
final ThemeData themeData = Theme.of(context);
381368
final AppBarTheme appBarTheme = AppBarTheme.of(context);
382-
final ScaffoldState scaffold = Scaffold.of(context, nullOk: true);
369+
final ScaffoldState scaffold = Scaffold.of(context);
383370
final ModalRoute<dynamic> parentRoute = ModalRoute.of(context);
384371

385372
final bool hasDrawer = scaffold?.hasDrawer ?? false;
@@ -390,12 +377,12 @@ class _AppBarState extends State<AppBar> {
390377

391378
IconThemeData appBarIconTheme =
392379
widget.iconTheme ?? appBarTheme.iconTheme ?? themeData.primaryIconTheme;
393-
TextStyle centerStyle = widget.textTheme?.title ??
394-
appBarTheme.textTheme?.title ??
395-
themeData.primaryTextTheme.title;
396-
TextStyle sideStyle = widget.textTheme?.body1 ??
397-
appBarTheme.textTheme?.body1 ??
398-
themeData.primaryTextTheme.body1;
380+
TextStyle centerStyle = widget.textTheme?.bodyText1 ??
381+
appBarTheme.textTheme?.bodyText1 ??
382+
themeData.primaryTextTheme.bodyText1;
383+
TextStyle sideStyle = widget.textTheme?.bodyText1 ??
384+
appBarTheme.textTheme?.bodyText1 ??
385+
themeData.primaryTextTheme.bodyText1;
399386

400387
if (widget.toolbarOpacity != 1.0) {
401388
final double opacity =
@@ -441,6 +428,12 @@ class _AppBarState extends State<AppBar> {
441428
break;
442429
case TargetPlatform.iOS:
443430
break;
431+
case TargetPlatform.linux:
432+
break;
433+
case TargetPlatform.macOS:
434+
break;
435+
case TargetPlatform.windows:
436+
break;
444437
}
445438
title = DefaultTextStyle(
446439
style: centerStyle,
@@ -560,8 +553,7 @@ class _FloatingAppBarState extends State<_FloatingAppBar> {
560553
}
561554

562555
RenderSliverFloatingPersistentHeader _headerRenderer() {
563-
return context.ancestorRenderObjectOfType(
564-
const TypeMatcher<RenderSliverFloatingPersistentHeader>());
556+
return context.findAncestorRenderObjectOfType<RenderSliverFloatingPersistentHeader>();
565557
}
566558

567559
void _isScrollingListener() {
@@ -1192,7 +1184,7 @@ getWidget() {
11921184
// This is not necessary if the "headerSliverBuilder" only builds
11931185
// widgets that do not overlap the next sliver.
11941186
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
1195-
child: SliverAppBar(
1187+
sliver: SliverAppBar(
11961188
pinned: true,
11971189
expandedHeight: 100.0,
11981190
primary: false,

lib/pages/home/home_page.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ DefaultTabController getWidget() {
3838
// This is not necessary if the "headerSliverBuilder" only builds
3939
// widgets that do not overlap the next sliver.
4040
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
41-
child: myapp.SliverAppBar(
41+
sliver: myapp.SliverAppBar(
4242
pinned: true,
4343
expandedHeight: 120.0,
4444
primary: true,
@@ -52,7 +52,7 @@ DefaultTabController getWidget() {
5252
hintText: '影视作品中你难忘的离别',
5353
margin: const EdgeInsets.only(left: 15.0, right: 15.0),
5454
onTab: () {
55-
Router.push(context, Router.searchPage, '影视作品中你难忘的离别');
55+
MyRouter.push(context, MyRouter.searchPage, '影视作品中你难忘的离别');
5656
},
5757
),
5858
alignment: Alignment(0.0, 0.0),
@@ -328,7 +328,7 @@ _loginContainer(BuildContext context) {
328328
borderRadius: const BorderRadius.all(Radius.circular(6.0))),
329329
),
330330
onTap: () {
331-
Router.push(context, Router.searchPage, '搜索笨啦灯');
331+
MyRouter.push(context, MyRouter.searchPage, '搜索笨啦灯');
332332
},
333333
)
334334
],

lib/pages/home/my_home_tab_bar.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class _HomeTabBarState extends State<HomeTabBar> {
6868
),
6969
),
7070
onTap: () {
71-
Router.push(context, Router.searchPage, '搜索流浪地球试一试');
71+
MyRouter.push(context, MyRouter.searchPage, '搜索流浪地球试一试');
7272
},
7373
),
7474
)

lib/pages/movie/book_audio_video_page.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Widget _getNestedScrollView(Widget tabBar) {
6666
child: SearchTextFieldWidget(
6767
hintText: hintText,
6868
onTab: () {
69-
Router.push(context, Router.searchPage, hintText);
69+
MyRouter.push(context, MyRouter.searchPage, hintText);
7070
},
7171
),
7272
),

lib/pages/movie/movie_app_bar.dart

+16-23
Original file line numberDiff line numberDiff line change
@@ -344,19 +344,6 @@ class AppBar extends StatefulWidget implements PreferredSizeWidget {
344344
@override
345345
final Size preferredSize;
346346

347-
bool _getEffectiveCenterTitle(ThemeData themeData) {
348-
if (centerTitle != null) return centerTitle;
349-
assert(themeData.platform != null);
350-
switch (themeData.platform) {
351-
case TargetPlatform.android:
352-
case TargetPlatform.fuchsia:
353-
return false;
354-
case TargetPlatform.iOS:
355-
return actions == null || actions.length < 2;
356-
}
357-
return null;
358-
}
359-
360347
@override
361348
_AppBarState createState() => _AppBarState();
362349
}
@@ -378,7 +365,7 @@ class _AppBarState extends State<AppBar> {
378365
assert(debugCheckHasMaterialLocalizations(context));
379366
final ThemeData themeData = Theme.of(context);
380367
final AppBarTheme appBarTheme = AppBarTheme.of(context);
381-
final ScaffoldState scaffold = Scaffold.of(context, nullOk: true);
368+
final ScaffoldState scaffold = Scaffold.of(context);
382369
final ModalRoute<dynamic> parentRoute = ModalRoute.of(context);
383370

384371
final bool hasDrawer = scaffold?.hasDrawer ?? false;
@@ -389,12 +376,12 @@ class _AppBarState extends State<AppBar> {
389376

390377
IconThemeData appBarIconTheme =
391378
widget.iconTheme ?? appBarTheme.iconTheme ?? themeData.primaryIconTheme;
392-
TextStyle centerStyle = widget.textTheme?.title ??
393-
appBarTheme.textTheme?.title ??
394-
themeData.primaryTextTheme.title;
395-
TextStyle sideStyle = widget.textTheme?.body1 ??
396-
appBarTheme.textTheme?.body1 ??
397-
themeData.primaryTextTheme.body1;
379+
TextStyle centerStyle = widget.textTheme?.bodyText1 ??
380+
appBarTheme.textTheme?.bodyText1 ??
381+
themeData.primaryTextTheme.bodyText1;
382+
TextStyle sideStyle = widget.textTheme?.bodyText1 ??
383+
appBarTheme.textTheme?.bodyText1 ??
384+
themeData.primaryTextTheme.bodyText1;
398385

399386
if (widget.toolbarOpacity != 1.0) {
400387
final double opacity =
@@ -440,6 +427,12 @@ class _AppBarState extends State<AppBar> {
440427
break;
441428
case TargetPlatform.iOS:
442429
break;
430+
case TargetPlatform.linux:
431+
break;
432+
case TargetPlatform.macOS:
433+
break;
434+
case TargetPlatform.windows:
435+
break;
443436
}
444437
title = DefaultTextStyle(
445438
style: centerStyle,
@@ -559,8 +552,8 @@ class _FloatingAppBarState extends State<_FloatingAppBar> {
559552
}
560553

561554
RenderSliverFloatingPersistentHeader _headerRenderer() {
562-
return context.ancestorRenderObjectOfType(
563-
const TypeMatcher<RenderSliverFloatingPersistentHeader>());
555+
return context.findAncestorRenderObjectOfType<RenderSliverFloatingPersistentHeader>(
556+
);
564557
}
565558

566559
void _isScrollingListener() {
@@ -1192,7 +1185,7 @@ getWidget() {
11921185
// This is not necessary if the "headerSliverBuilder" only builds
11931186
// widgets that do not overlap the next sliver.
11941187
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
1195-
child: SliverAppBar(
1188+
sliver: SliverAppBar(
11961189
pinned: true,
11971190
expandedHeight: 100.0,
11981191
primary: false,

lib/pages/movie/movie_page.dart

+3-6
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,11 @@ import 'package:doubanapp/widgets/image/cache_img_radius.dart';
1414
import 'package:doubanapp/constant/constant.dart';
1515
import 'package:doubanapp/pages/movie/top_item_widget.dart';
1616
import 'package:doubanapp/router.dart';
17-
import 'package:doubanapp/http/http_request.dart';
1817
//import 'package:palette_generator/palette_generator.dart';
1918
import 'package:flutter/rendering.dart';
2019
import 'package:doubanapp/repository/movie_repository.dart';
2120
import 'package:flutter/cupertino.dart';
2221
import 'package:doubanapp/widgets/loading_widget.dart';
23-
import 'package:doubanapp/util/screen_utils.dart';
24-
import 'package:fluttertoast/fluttertoast.dart';
2522
///书影音-电影
2623
///这个Widget整个布局较为复杂
2724
///整个是使用CustomScrollView内存放各种Slivers构成
@@ -160,7 +157,7 @@ class _MoviePageState extends State<MoviePage> with AutomaticKeepAliveClientMix
160157
),
161158
),
162159
onTap: () {
163-
Router.push(context, Router.detailPage, comingSoonBean.id);
160+
MyRouter.push(context, MyRouter.detailPage, comingSoonBean.id);
164161
},
165162
);
166163
}
@@ -205,7 +202,7 @@ class _MoviePageState extends State<MoviePage> with AutomaticKeepAliveClientMix
205202
),
206203
),
207204
onTap: () {
208-
Router.push(context, Router.detailPage, hotMovieBean.id);
205+
MyRouter.push(context, MyRouter.detailPage, hotMovieBean.id);
209206
},
210207
);
211208
}
@@ -338,7 +335,7 @@ class _MoviePageState extends State<MoviePage> with AutomaticKeepAliveClientMix
338335
mainAxisSpacing: 0.0,
339336
childAspectRatio: _getRadio())),
340337
getCommonImg(Constant.IMG_TMP1, (){
341-
Router.pushNoParams(context, "http://www.flutterall.com");
338+
MyRouter.pushNoParams(context, "http://www.flutterall.com");
342339
}),
343340
SliverToBoxAdapter(
344341
child: Padding(

0 commit comments

Comments
 (0)