簡體   English   中英

flutter 自定義 PageRouteBuilder

[英]flutter Custom PageRouteBuilder

自定義路由如下:

class FadeRouteBuilder extends PageRouteBuilder {
  final Widget page;
  final int duration;


  FadeRouteBuilder({this.page, this.duration = 1000})
      : super(
          transitionDuration: Duration(milliseconds: duration),
          //Page builder doesn't do anything special, just return the ui.page we were passed in.
          pageBuilder: (context, animation, secondaryAnimation) => page,
          //transitionsBuilder builds 2 nested transitions, one for transitionIn (animation), and one for transitionOut (secondaryAnimation)
          transitionsBuilder: (context, animation, secondaryAnimation, child) {
            return FadeTransition(
                //Transition from 0 - 1 when coming on the screen
                opacity: Tween<double>(begin: 0, end: 1).animate(animation),
                child: FadeTransition(
                  //Transition from 1 to 0 when leaving the screen
                  opacity: Tween<double>(begin: 1, end: 0)
                      .animate(secondaryAnimation),
                  child: child,
                ));
          },
        );
}

包含CustomScrollView的頁面是PageA,通過FadeRouteBuilder導航到PageB,

彈出pageB時,拖動PageA列表並按住,當PageB關閉時,CustomScrollView無法點擊,無效。

我用一個變量來判斷Page B是否關閉。 在此處輸入圖像描述

雖然解決了問題,但不夠優雅,如果有更好的解決方案,請回答我。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM