drag_down_to_pop 0.1.0 copy "drag_down_to_pop: ^0.1.0" to clipboard
drag_down_to_pop: ^0.1.0 copied to clipboard

outdated

A page transition which supports drag down to pop gesture.

example/lib/main.dart

import 'package:drag_down_to_pop/drag_down_to_pop.dart';
import 'package:flutter/material.dart';

void main() => runApp(
      MaterialApp(
        home: FirstPage(),
      ),
    );

class FirstPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('First Page'),
      ),
      body: Center(
        child: FlatButton(
          child: Text('Next page'),
          textColor: Colors.white,
          color: Colors.blue,
          onPressed: () {
            Navigator.push(
              context,
              ImageViewerPageRoute(builder: (context) => SecondPage()),
            );
          },
        ),
      ),
    );
  }
}

class ImageViewerPageRoute extends MaterialPageRoute {
  ImageViewerPageRoute({@required WidgetBuilder builder})
      : super(builder: builder, maintainState: false);

  @override
  Widget buildTransitions(BuildContext context, Animation<double> animation,
      Animation<double> secondaryAnimation, Widget child) {
    return const DragDownToPopPageTransitionsBuilder()
        .buildTransitions(this, context, animation, secondaryAnimation, child);
  }

  @override
  bool canTransitionFrom(TransitionRoute previousRoute) {
    return false;
  }

  @override
  bool canTransitionTo(TransitionRoute nextRoute) {
    return false;
  }
}

class SecondPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      child: Container(
        child: Image.network(
          'https://ww4.sinaimg.cn/bmiddle/5c9763c0jw1dg9c1if6bjj.jpg',
        ),
      ),
      onTap: () {
        Navigator.maybePop(context);
      },
    );
  }
}
28
likes
0
pub points
72%
popularity

Publisher

unverified uploader

A page transition which supports drag down to pop gesture.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on drag_down_to_pop