как поп с анимацией в флаттере - PullRequest
0 голосов
/ 15 сентября 2018

Я делаю операцию Navigator.pop и хочу постепенно перейти на страницу. Я попробовал Fluro, но не заинтересован в его реализации.

Вот что я делаю: -

 Widget build(BuildContext context) {
return Scaffold(
  appBar: new AppBar(
    title: new Text("Cart"),
    leading: Hero(
      tag: "cartIcon",
      child: Icon(Icons.shopping_cart, color: Colors.yellow),
    ),
    actions: <Widget>[
      IconButton(
          icon: Icon(Icons.close),
          onPressed: () {
            Navigator.pop(context);
          })
    ],
  ),
);

}

1 Ответ

0 голосов
/ 16 сентября 2018

Никто не ответил, но я нашел решение, вы можете сделать это, используя класс MaterialPageRoute

CLASS: -

import 'package:flutter/material.dart';
class CustomNavRoute<T> extends MaterialPageRoute<T> {
  CustomNavRoute({WidgetBuilder builder, RouteSettings settings})
      : super(builder: builder, settings: settings);

  @override
  Widget buildTransitions(BuildContext context, Animation<double> animation,
      Animation<double> secondaryAnimation, Widget child) {
    if (settings.isInitialRoute) return child;

    return new FadeTransition(opacity: animation, child: child);
  }
}

И вызвать класс следующим образом: -

 Navigator.pushReplacement(context,CustomNavRoute(builder: (context) => IntroScreen()));

Также при нажатии

Navigator.push(context, CustomNavRoute(builder: (context) => LoginSignup()));

Это приведет к переходу fadein на PUSH и POP к странице!

...