颤抖如何检测PageView onTapUp

时间:2019-05-28 06:43:54

标签: flutter flutter-layout

我使用PageView在垂直方向上写了一个列表。现在,当我上下滑动列表(我的手指没有离开屏幕)时,将执行onPageChanged。有没有一种方法可以检测到onPageChanged方法仅在手指离开屏幕时才会执行。部分代码如下:


    SizedBox(
            width: 200,
            height: 200,
            child: PageView(
                controller: pageController,
                scrollDirection: Axis.vertical,
                onPageChanged: (index) {
                  setState(() {
                    pageIndex = index;
                  });
                },
                children: _buildCardList()),
          )

如下所示:

2 个答案:

答案 0 :(得分:1)

使用如下所示的通知侦听器包装页面视图:

  SizedBox(
            width: 100,
            height: 100,
            child: NotificationListener<ScrollNotification>(
              onNotification: (notification)
              {
                if(notification is ScrollEndNotification)
                  {

                    var pageIndex = pageController.page;
                  }

              },
              child: PageView(
                  controller: pageController,
                  scrollDirection: Axis.vertical,
                  onPageChanged: (index) {
                  },
                  children: _buildCardList()),
            ),
          )

答案 1 :(得分:0)

您可以那样做;

   int currentPage;
    .
    .
    .
    onPageChanged(int page){
      if(currentPage != page){
        setState((){
          currentPage = page;
        });
      }
    }