首页 > 解决方案 > 如何在颤动中弹出动画

问题描述

我正在做 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);
          })
    ],
  ),
);

}

标签: flutterflutter-animation

解决方案


没有人回答,但我找到了解决方案,您可以使用 MaterialPageRoute 类这样做

班级:-

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()));

这会将 PUSH 和 POP 上的淡入淡出转换应用到页面!


推荐阅读