swipe_screen 1.0.1 copy "swipe_screen: ^1.0.1" to clipboard
swipe_screen: ^1.0.1 copied to clipboard

outdated

A Flutter package that enables screen transitions by swiping.

example/lib/main.dart

import 'package:example/screen_bottom.dart';
import 'package:example/screen_left.dart';
import 'package:example/screen_right.dart';
import 'package:example/screen_top.dart';
import 'package:flutter/material.dart';
import 'package:swipe_screen/swipe_screen.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'SwipeScreen',
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SwipeScreen(
      key: UniqueKey(),
      swipeFromLeft: SwipeTransition(
        screen: LeftScreen(),
        transitionType: TransitionType.push,
      ),
      swipeFromTop: SwipeTransition(
        screen: TopScreen(),
        transitionType: TransitionType.push,
      ),
      swipeFromRight: SwipeTransition(
        screen: RightScreen(),
        transitionType: TransitionType.push,
      ),
      swipeFromBottom: SwipeTransition(
        screen: BottomScreen(),
        transitionType: TransitionType.push,
      ),
      currentScreenBuilder: (ScrollController controller) {
        return const Scaffold(
          body: Center(
            child: Text(
              'HomeScreen',
              style: TextStyle(
                fontSize: 32,
              ),
            ),
          ),
        );
      },
      onSwiped: (direction) {
        switch (direction) {
          case SwipeDirection.fromLeft:
            Navigator.push(
              context,
              PageRouteBuilder(
                pageBuilder: (_, __, ___) => LeftScreen(),
                transitionDuration: const Duration(seconds: 0),
              ),
            );
            break;
          case SwipeDirection.fromTop:
            Navigator.push(
              context,
              PageRouteBuilder(
                pageBuilder: (_, __, ___) => TopScreen(),
                transitionDuration: const Duration(seconds: 0),
              ),
            );
            break;
          case SwipeDirection.fromRight:
            Navigator.push(
              context,
              PageRouteBuilder(
                pageBuilder: (_, __, ___) => RightScreen(),
                transitionDuration: const Duration(seconds: 0),
              ),
            );
            break;
          case SwipeDirection.fromBottom:
            Navigator.push(
              context,
              PageRouteBuilder(
                pageBuilder: (_, __, ___) => BottomScreen(),
                transitionDuration: const Duration(seconds: 0),
              ),
            );
            break;
          case SwipeDirection.none:
            break;
        }
      },
    );
  }
}
6
likes
0
points
16
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package that enables screen transitions by swiping.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on swipe_screen