flutter - 如何在颤动中弹出动画
问题描述
我正在做 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);
})
],
),
);
}
解决方案
没有人回答,但我找到了解决方案,您可以使用 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 上的淡入淡出转换应用到页面!
推荐阅读
- amazon-web-services - 如何使用 API 网关将参数传递给 Lambda 函数以从 DynamoDB 中查询项目?
- android - 使用TextWatcher时获取editText最后输入的值
- java - 目标 org.apache.maven.plugins:maven-archetype-plugin:2.4:integration-test 的执行 default-integration-test failed
- javascript - 如何将单击按钮的文本与方程式结果进行比较并生成一个 div 表示“错误结果”或“正确结果”?
- c# - 从任务内部调用通用函数?
- c - C 赋值语句中附加的零是什么意思?
- protocol-buffers - Flink消耗s3 parquet文件kyro序列化错误
- python - 从索引矩阵向量化数组访问
- ios - GMstepper 构建失败的 Swift
- angularjs - 嵌套的 ng-repeat 具有重复值