Skip to content

Commit 0f6efeb

Browse files
committed
Upgraded to Flutter 2.0
1 parent f301e6a commit 0f6efeb

File tree

11 files changed

+181
-137
lines changed

11 files changed

+181
-137
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ If you want to be informed about new projects, follow me on [Twitter](https://tw
2121

2222
## Dev
2323

24-
To build application, you need to install **Flutter (1.17+)**. You can find help here: https://flutter.dev/docs/get-started/install
24+
To build application, you need to install **Flutter (2.0+)**. You can find help here: https://flutter.dev/docs/get-started/install

lib/main.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import 'package:flutter_parallax_scroll/screens/home/home_screen.dart';
55
void main() {
66
WidgetsFlutterBinding.ensureInitialized();
77

8-
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
8+
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
9+
overlays: [SystemUiOverlay.bottom]);
910
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
1011
.then((_) {
1112
runApp(MyApp());

lib/screens/home/home_screen.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import 'package:flutter_parallax_scroll/shared/consts.dart';
66
import 'package:flutter_parallax_scroll/shared/widgets/paralax.dart';
77

88
class HomeScreen extends StatefulWidget {
9-
HomeScreen({Key key}) : super(key: key);
9+
HomeScreen({Key? key}) : super(key: key);
1010

1111
@override
1212
_HomeScreenState createState() => _HomeScreenState();

lib/screens/home/subscreens/benefits_subscreen.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import 'package:google_fonts/google_fonts.dart';
55

66
class BenefitsSubscreen extends StatelessWidget {
77
const BenefitsSubscreen({
8-
Key key,
8+
Key? key,
99
this.controller,
1010
}) : super(key: key);
1111

12-
final ScrollController controller;
12+
final ScrollController? controller;
1313

1414
@override
1515
Widget build(BuildContext context) {
@@ -103,7 +103,7 @@ class BenefitsSubscreen extends StatelessWidget {
103103
text: 'Get in touch',
104104
minWidth: 200,
105105
onPressed: () {
106-
controller.animateTo(0,
106+
controller!.animateTo(0,
107107
duration: Duration(milliseconds: 2300), curve: Curves.ease);
108108
},
109109
),

lib/screens/home/subscreens/urban_planners_subscreen.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import 'package:google_fonts/google_fonts.dart';
44

55
class UrbanPlannersSubscreen extends StatelessWidget {
66
const UrbanPlannersSubscreen({
7-
Key key,
7+
Key? key,
88
this.controller,
99
}) : super(key: key);
1010

11-
final ScrollController controller;
11+
final ScrollController? controller;
1212

1313
@override
1414
Widget build(BuildContext context) {
@@ -67,9 +67,9 @@ class UrbanPlannersSubscreen extends StatelessWidget {
6767
SizedBox(
6868
height: 10,
6969
),
70-
FlatButton(
70+
TextButton(
7171
onPressed: () {
72-
controller.animateTo(1540,
72+
controller!.animateTo(1540,
7373
duration: Duration(milliseconds: 2300), curve: Curves.ease);
7474
},
7575
child: Text(

lib/shared/widgets/custom_button.dart

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import 'package:google_fonts/google_fonts.dart';
44

55
class CustomButton extends StatelessWidget {
66
const CustomButton({
7-
Key key,
8-
@required this.text,
9-
@required this.onPressed,
7+
Key? key,
8+
required this.text,
9+
required this.onPressed,
1010
this.minWidth = 135.0,
1111
this.height = 62.0,
1212
}) : super(key: key);
@@ -21,14 +21,16 @@ class CustomButton extends StatelessWidget {
2121
return ButtonTheme(
2222
minWidth: minWidth,
2323
height: height,
24-
child: RaisedButton(
25-
elevation: 0,
26-
shape: RoundedRectangleBorder(
27-
borderRadius: BorderRadius.circular(25.0),
28-
),
24+
child: ElevatedButton(
25+
style: ElevatedButton.styleFrom(
26+
padding: EdgeInsets.symmetric(horizontal: 40.0, vertical: 20.0),
27+
shape: RoundedRectangleBorder(
28+
borderRadius: BorderRadius.circular(25.0),
29+
),
30+
primary: CustomColors.orange,
31+
elevation: 0,
32+
textStyle: TextStyle(color: Colors.white)),
2933
onPressed: onPressed,
30-
color: CustomColors.orange,
31-
textColor: Colors.white,
3234
child: Text(
3335
text.toUpperCase(),
3436
style: GoogleFonts.nunito(

lib/shared/widgets/paralax/parallax_scroll.dart

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'package:rxdart/rxdart.dart';
33

44
class ParallaxScroll extends StatefulWidget {
55
const ParallaxScroll({
6-
Key key,
6+
Key? key,
77
this.children = const <Widget>[],
88
this.parallaxBackgroundChildren = const <ParallaxElement>[],
99
this.parallaxForegroundChildren = const <ParallaxElement>[],
@@ -14,8 +14,8 @@ class ParallaxScroll extends StatefulWidget {
1414
final List<Widget> children;
1515
final List<ParallaxElement> parallaxBackgroundChildren;
1616
final List<ParallaxElement> parallaxForegroundChildren;
17-
final ScrollPhysics physic;
18-
final ScrollController controller;
17+
final ScrollPhysics? physic;
18+
final ScrollController? controller;
1919

2020
@override
2121
_ParallaxScrollState createState() => _ParallaxScrollState();
@@ -53,10 +53,6 @@ class _ParallaxScrollState extends State<ParallaxScroll> {
5353

5454
List<_ParallaxElementWrapper> _buildParallaxElements(
5555
List<ParallaxElement> elements) {
56-
if (elements == null) {
57-
return [];
58-
}
59-
6056
List<_ParallaxElementWrapper> result = [];
6157
for (ParallaxElement element in elements) {
6258
result.add(
@@ -77,9 +73,7 @@ class _ParallaxScrollState extends State<ParallaxScroll> {
7773
return true;
7874
}
7975

80-
Stream<double> _getDelayedScrollStream(Duration duration) {
81-
assert(duration != null);
82-
76+
Stream<double>? _getDelayedScrollStream(Duration duration) {
8377
if (!_scrollStreams.containsKey(duration)) {
8478
_generateScrollStream(duration);
8579
}
@@ -95,29 +89,29 @@ class _ParallaxScrollState extends State<ParallaxScroll> {
9589

9690
class ParallaxElement extends StatelessWidget {
9791
const ParallaxElement({
98-
Key key,
92+
Key? key,
9993
this.scrollDelay = const Duration(),
100-
@required this.child,
94+
required this.child,
10195
}) : super(key: key);
10296

10397
final Duration scrollDelay;
10498
final Widget child;
10599

106100
@override
107101
Widget build(BuildContext context) {
108-
return child ?? Container();
102+
return child;
109103
}
110104
}
111105

112106
class _ParallaxElementWrapper extends StatelessWidget {
113107
const _ParallaxElementWrapper(
114108
this.child, {
115-
@required this.scrollPostitionStream,
116-
Key key,
109+
required this.scrollPostitionStream,
110+
Key? key,
117111
}) : super(key: key);
118112

119113
final ParallaxElement child;
120-
final Stream<double> scrollPostitionStream;
114+
final Stream<double>? scrollPostitionStream;
121115

122116
@override
123117
Widget build(BuildContext context) {

lib/shared/widgets/paralax/parallax_svg_background.dart

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
import 'dart:typed_data';
2-
import 'dart:ui';
32

43
import 'package:quiver/core.dart' as quiver;
54
import 'package:flutter/widgets.dart';
65
import 'package:flutter_svg/flutter_svg.dart';
7-
import 'package:flutter_svg/svg.dart';
8-
import 'package:vector_math/vector_math_64.dart';
96

107
class ParallaxBackgroundSettings {
118
const ParallaxBackgroundSettings({
@@ -14,7 +11,7 @@ class ParallaxBackgroundSettings {
1411
this.shadowColor = const Color(0x00000000),
1512
});
1613

17-
final Float64List deepEffectMatrix;
14+
final Float64List? deepEffectMatrix;
1815
final double shadowSigma;
1916
final Color shadowColor;
2017

@@ -37,14 +34,14 @@ class ParallaxBackgroundSettings {
3734
shadowColor == other.shadowColor;
3835

3936
@override
40-
int get hashCode => quiver.hash3(deepEffectMatrix?.hashCode ?? 1,
41-
shadowColor?.hashCode ?? 2, shadowSigma?.hashCode ?? 3);
37+
int get hashCode => quiver.hash3(
38+
deepEffectMatrix.hashCode, shadowColor.hashCode, shadowSigma.hashCode);
4239
}
4340

4441
class ParallaxSvgBackground extends StatefulWidget {
4542
const ParallaxSvgBackground({
46-
Key key,
47-
@required this.svgAssetName,
43+
Key? key,
44+
required this.svgAssetName,
4845
this.disableDeepEffect = false,
4946
this.disableShadow = false,
5047
this.translationOffset = Offset.zero,
@@ -57,7 +54,7 @@ class ParallaxSvgBackground extends StatefulWidget {
5754
final bool disableShadow;
5855
final String svgAssetName;
5956
final Offset translationOffset;
60-
final ParallaxBackgroundSettings settings;
57+
final ParallaxBackgroundSettings? settings;
6158
final bool autoXScale;
6259
final bool autoYScale;
6360

@@ -109,7 +106,7 @@ class _ParallaxSvgBackgroundState extends State<ParallaxSvgBackground> {
109106
),
110107
);
111108
if (_needsRepaint == true) {
112-
WidgetsBinding.instance.addPostFrameCallback(
109+
WidgetsBinding.instance!.addPostFrameCallback(
113110
(_) => setState(() => _needsRepaint = false));
114111
}
115112
return result;
@@ -138,37 +135,37 @@ class _ParallaxBackgroundPainter extends CustomPainter {
138135
this.screenSize,
139136
});
140137

141-
final bool disableDeepEffect;
142-
final bool disableShadow;
143-
final bool needsRepaint;
144-
final DrawableRoot drawableRoot;
145-
final Offset translationOffset;
146-
final ParallaxBackgroundSettings settings;
147-
final bool autoXScale;
148-
final bool autoYScale;
149-
final Size screenSize;
138+
final bool? disableDeepEffect;
139+
final bool? disableShadow;
140+
final bool? needsRepaint;
141+
final DrawableRoot? drawableRoot;
142+
final Offset? translationOffset;
143+
final ParallaxBackgroundSettings? settings;
144+
final bool? autoXScale;
145+
final bool? autoYScale;
146+
final Size? screenSize;
150147

151148
@override
152149
void paint(Canvas canvas, Size size) async {
153150
canvas.save();
154151
if (translationOffset != null) {
155-
canvas.translate(translationOffset.dx, translationOffset.dy);
152+
canvas.translate(translationOffset!.dx, translationOffset!.dy);
156153
}
157154

158155
double scaleXFactor = 1;
159156
double scaleYFactor = 1;
160157

161158
if (autoXScale == true) {
162-
scaleXFactor = screenSize.width / drawableRoot.viewport.width;
159+
scaleXFactor = screenSize!.width / drawableRoot!.viewport.width;
163160
}
164161
if (autoYScale == true) {
165-
scaleYFactor = screenSize.height / drawableRoot.viewport.height;
162+
scaleYFactor = screenSize!.height / drawableRoot!.viewport.height;
166163
}
167164

168165
canvas.scale(scaleXFactor, scaleYFactor);
169166

170-
drawableRoot.clipCanvasToViewBox(canvas);
171-
_drawPath(canvas, drawableRoot);
167+
drawableRoot!.clipCanvasToViewBox(canvas);
168+
_drawPath(canvas, drawableRoot!);
172169

173170
canvas.restore();
174171
}
@@ -187,16 +184,17 @@ class _ParallaxBackgroundPainter extends CustomPainter {
187184
DrawableStyle(
188185
fill: DrawablePaint(
189186
PaintingStyle.fill,
190-
color: settings.shadowColor,
191-
maskFilter: MaskFilter.blur(BlurStyle.normal, settings.shadowSigma),
187+
color: settings!.shadowColor,
188+
maskFilter:
189+
MaskFilter.blur(BlurStyle.normal, settings!.shadowSigma),
192190
),
193191
),
194192
);
195193

196194
canvas.save();
197195

198196
canvas.transform(deepEffectMatrix);
199-
shadowDrawable.draw(canvas, null);
197+
shadowDrawable.draw(canvas, Rect.zero);
200198

201199
canvas.restore();
202200
}
@@ -214,12 +212,12 @@ class _ParallaxBackgroundPainter extends CustomPainter {
214212
canvas.save();
215213

216214
canvas.transform(deepEffectMatrix);
217-
drawable.draw(canvas, null);
218-
deepDrawable.draw(canvas, null);
215+
drawable.draw(canvas, Rect.zero);
216+
deepDrawable.draw(canvas, Rect.zero);
219217

220218
canvas.restore();
221219
}
222220

223-
drawable.draw(canvas, null);
221+
drawable.draw(canvas, Rect.zero);
224222
}
225223
}

lib/shared/widgets/svg_label.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import 'package:google_fonts/google_fonts.dart';
55

66
class SvgLabel extends StatelessWidget {
77
SvgLabel({
8-
@required this.assetName,
9-
@required this.label,
8+
required this.assetName,
9+
required this.label,
1010
});
1111

1212
final String assetName;

0 commit comments

Comments
 (0)