Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[depends on nullsafety] Friction fix revived #66

Merged
merged 7 commits into from Apr 8, 2021
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
21 changes: 10 additions & 11 deletions example/lib/default.dart
Expand Up @@ -8,8 +8,8 @@ class DefaultPage extends StatefulWidget {
_DefaultPageState createState() => _DefaultPageState();
}

class _DefaultPageState extends State<DefaultPage> with SingleTickerProviderStateMixin {

class _DefaultPageState extends State<DefaultPage>
with SingleTickerProviderStateMixin {
RubberAnimationController _controller;

@override
Expand All @@ -18,8 +18,7 @@ class _DefaultPageState extends State<DefaultPage> with SingleTickerProviderStat
vsync: this,
halfBoundValue: AnimationControllerValue(percentage: 0.5),
lowerBoundValue: AnimationControllerValue(pixel: 200),
duration: Duration(milliseconds: 200)
);
duration: Duration(milliseconds: 200));
_controller.addStatusListener(_statusListener);
_controller.animationState.addListener(_stateListener);
super.initState();
Expand Down Expand Up @@ -48,7 +47,10 @@ class _DefaultPageState extends State<DefaultPage> with SingleTickerProviderStat
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Default",style: TextStyle(color: Colors.cyan[900]),),
title: Text(
"Default",
style: TextStyle(color: Colors.cyan[900]),
),
),
body: Container(
child: RubberBottomSheet(
Expand Down Expand Up @@ -86,16 +88,13 @@ class _DefaultPageState extends State<DefaultPage> with SingleTickerProviderStat

Widget _getLowerLayer() {
return Container(
decoration: BoxDecoration(
color: Colors.cyan[100]
),
decoration: BoxDecoration(color: Colors.cyan[100]),
);
}

Widget _getUpperLayer() {
return Container(
decoration: BoxDecoration(
color: Colors.cyan
),
decoration: BoxDecoration(color: Colors.cyan),
);
}
}
133 changes: 73 additions & 60 deletions example/lib/main.dart
@@ -1,27 +1,28 @@
import 'package:example/dismissable.dart';
import 'package:example/scroll.dart';
import 'package:example/spring.dart';
import 'package:flutter/material.dart';
import 'package:example/default.dart';
import 'package:example/menu.dart';
import 'package:example/spring.dart';
import 'package:example/padding.dart';
import 'package:example/scroll.dart';
import 'package:example/dismissable.dart';

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

class MyApp extends StatelessWidget {

@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primaryColor: Colors.cyan,
),
home: HomePage(title: "Home",),
home: HomePage(
title: "Home",
),
);
}
}


class HomePage extends StatefulWidget {
HomePage({Key key, this.title}) : super(key: key);

Expand All @@ -31,63 +32,75 @@ class HomePage extends StatefulWidget {
_HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> with SingleTickerProviderStateMixin {

class _HomePageState extends State<HomePage>
with SingleTickerProviderStateMixin {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title,style: TextStyle(color: Colors.cyan[900]),),
),
body: ListView(
children: <Widget>[
RaisedButton(
child: Text("Default"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => DefaultPage()),
);
},
),
RaisedButton(
child: Text("Menu"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => MenuPage()),
);
},
),
RaisedButton(
child: Text("Spring settings"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SpringPage()),
);
},
),
RaisedButton(
child: Text("Scrolling"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ScrollPage()),
);
},
),
RaisedButton(
child: Text("Dismissable"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => DismissablePage()),
);
},
),
],
appBar: AppBar(
title: Text(
widget.title,
style: TextStyle(color: Colors.cyan[900]),
),
),
body: ListView(
children: <Widget>[
ElevatedButton(
child: Text("Default"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => DefaultPage()),
);
},
),
ElevatedButton(
child: Text("Menu"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => MenuPage()),
);
},
),
ElevatedButton(
child: Text("Spring settings"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SpringPage()),
);
},
),
ElevatedButton(
child: Text("Animation Padding"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => AnimationPaddingPage()),
);
},
),
ElevatedButton(
child: Text("Scrolling"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ScrollPage()),
);
},
),
ElevatedButton(
child: Text("Dismissable"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => DismissablePage()),
);
},
),
],
),
);
}
}
}
37 changes: 18 additions & 19 deletions example/lib/menu.dart
Expand Up @@ -8,32 +8,36 @@ class MenuPage extends StatefulWidget {
_MenuPageState createState() => _MenuPageState();
}

class _MenuPageState extends State<MenuPage> with SingleTickerProviderStateMixin {

class _MenuPageState extends State<MenuPage>
with SingleTickerProviderStateMixin {
RubberAnimationController _controller;

@override
void initState() {
_controller = RubberAnimationController(
vsync: this,
dismissable: true,
lowerBoundValue: AnimationControllerValue(pixel: 100),
upperBoundValue: AnimationControllerValue(pixel: 400),
duration: Duration(milliseconds: 200)
vsync: this,
dismissable: true,
lowerBoundValue: AnimationControllerValue(pixel: 100),
upperBoundValue: AnimationControllerValue(pixel: 400),
duration: Duration(milliseconds: 200),
);
super.initState();
}

void _expand() {
print("expand");
_controller.launchTo(_controller.value,_controller.upperBound,velocity: 2);
_controller.launchTo(_controller.value, _controller.upperBound,
velocity: 2);
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Menu",style: TextStyle(color: Colors.cyan[900]),),
title: Text(
"Menu",
style: TextStyle(color: Colors.cyan[900]),
),
),
body: Container(
child: RubberBottomSheet(
Expand All @@ -55,28 +59,23 @@ class _MenuPageState extends State<MenuPage> with SingleTickerProviderStateMixin

Widget _getLowerLayer() {
return Container(
decoration: BoxDecoration(
color: Colors.cyan[100]
),
decoration: BoxDecoration(color: Colors.cyan[100]),
);
}

Widget _getUpperLayer() {
return Container(
decoration: BoxDecoration(
color: Colors.cyan
),
decoration: BoxDecoration(color: Colors.cyan),
);
}

Widget _getMenuLayer() {
return Container(
height: 100,
child: Center(
child: Text("MENU"),
),
decoration: BoxDecoration(
color: Colors.red
),
decoration: BoxDecoration(color: Colors.red),
);
}

}