- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据official docs pageBuilder
参数用于构建主要路由内容,transitionsBuilder
参数用于构建路由的转换。
所以它们都有不同的工作,但是如果 pageBuilder
用于构建主要路由内容,那么为什么它还在其 typedef RoutePageBuilder 中声明了两个 Animation
参数,也在 transitionBuilder
typedef RouteTransitionBuilder 中,有两个 Animation
参数声明为 animation
和 secondaryAnimation
。这两个 Animation
之间有什么区别以及我们如何使用它们?
最佳答案
routes.dart 中的文档:
/// [buildPage] is only called when the route is first built, and rarely
/// thereafter. In particular, it is not automatically called again when the
/// route's state changes unless it uses [ModalRoute.of]. For a builder that
/// is called every time the route's state changes, consider
/// [buildTransitions]. For widgets that change their behavior when the
/// route's state changes, consider [ModalRoute.of] to obtain a reference to
/// the route; this will cause the widget to be rebuilt each time the route
/// changes state.
///
/// In general, [buildPage] should be used to build the page contents, and
/// [buildTransitions] for the widgets that change as the page is brought in
/// and out of view. Avoid using [buildTransitions] for content that never
/// changes; building such content once from [buildPage] is more efficient.
/// The [buildTransitions] method, in contrast to [buildPage], is called each
/// time the [Route]'s state changes (e.g. the value of [canPop]).
///
/// The [buildTransitions] method is typically used to define transitions
/// that animate the new topmost route's comings and goings. When the
/// [Navigator] pushes a route on the top of its stack, the new route's
/// primary [animation] runs from 0.0 to 1.0. When the Navigator pops the
/// topmost route, e.g. because the use pressed the back button, the
/// primary animation runs from 1.0 to 0.0.
关于flutter - PageRouteBuilder的pageBuilder和transitionsBuilder typedef参数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54229266/
在PageRouteBuilder的transitionBuilder方法中,我使用的是下面的代码,但是辅助动画总是与动画相反。我们如何在页面上进行幻灯片过渡并在退出时淡出? Widget leftT
为了实现淡入淡出过渡,我使用了 PageRouteBuilder() 来构建我的一些路由。然而,我在测试应用程序时注意到,Android 上的后退按钮和 IOS 上的用户手势无法导航回之前的路线! 这
我目前正在尝试使用PageRouteBuilder进行自定义转换。但是,当我使用它时,我的英雄动画将停止工作。 注意:它可与其他转换,甚至其他自定义转换一起使用。 EnterExitRoute.dar
我试图在 Flutter Navigator Widget 中强制执行水平转换。 Navigator 使用从一个屏幕到下一个屏幕的平台默认转换。在 iOS 中,过渡是从右到左。从左到右弹出。在 And
我正在尝试让我的列表项展开全屏。根据 Material 建议。 PageRouterBuilder 似乎是可行的方法,SlideTransition 和 ScaleTransition 都运行良好,但
我已经在我的 flutter 应用程序中通过即时路由生成实现了路由 onPressed:() => Navigator.of(context).push(new PageRouteBuilder( p
我是一名优秀的程序员,十分优秀!