Flutter Pageview - onTap 滚动到下一个或上一个项目

乔治79

鉴于 PageView 允许使用 viewPortFraction 显示下一个或上一个项目,如果用户点击其中一个项目,我们如何在项目之间滚动?如果用户用手指拖动列表,则滚动有效,但我也想启用 onTap。

  child: PageView(
      children: <Widget>[
        ...widgetsList,
      ],
      scrollDirection: Axis.horizontal,
      controller: PageController(
        viewportFraction: 0.4,
        initialPage: 0,
      )),
斯里福特

您可以将每个页面包装在 a 中GestureDetectoronTap使用jumpToPageanimateToPage来切换页面。如果每个页面上的元素由于 无法再访问GestureDetector,则可能需要使用Stack小部件。

只需将当前pageNo传递animateToPage.

这是一个带有包装的示例Container,但您也可以将完整的 Page 作为孩子传递。

GestureDetector(
      child: Container(
          width: double.infinity,
          height: 50.0,
          color: Colors.white60,
          child: Text('show')),
      onTap: () {
          _pageController.animateToPage(pageNo,
              duration: Duration(milliseconds: 250), curve: Curves.easeInOut);

          //// some alternative navigation:
          // _pageController.nextPage(
          //     duration: Duration(milliseconds: 250),
          //     curve: Curves.easeOut);
          //
          //// alternative just jump
          // _pageController.jumpToPage(pageNo);
      },)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Flutter中使用PageView使上一个和下一个项目可见?

在另一个 PageView 中 Flutter 阻止滚动 PageView

在 TabBarView 中颤动 PageView:滚动到页面末尾的下一个选项卡

如何滚动到下一页PageView Flutter

Flutter 删除 ListView.builder 中的一个项目 onTap of a button

Flutter PageView:禁用左侧或右侧滚动

在 Flutter 中从 SingleChildScrollView 在 PageView 中滚动 ListView

检查 PageView 中的过度滚动 - Flutter

可滚动小部件内的Flutter PageView

Flutter小部件不返回值并关注下一个/上一个元素

如何检查当前的PageView是否完全消失而下一个完全出现

容器的Flutter onTap方法

Flutter googleMap onTap longPress

Flutter onPressed()与onTap()

Flutter-将onTap与列表调用一起使用

在Flutter中嵌套PageView

仅在一次PageView中构建Flutter GoogleMap

Flutter web 中鼠标滚动事件上的 PageView animateToPage

CustomPaint 在 Flutter 中设计了一个下一个

Flutter OnTap 列表视图项

并行(同步)运行两个网络调用,并在移动到Flutter Mobile中的下一个代码之前,将它们的结果进行比较

在Flutter中将焦点从一个文本字段更改为下一个文本字段

Flutter PointerEvent与OnTap,一种有效,另一种无效

使用 onTap 仅开始一个动画

在我的列表视图中添加一个方法 ontap()

Flutter:传递到下一个屏幕的变量变为空

为什么 Flutter 下一个屏幕上的变量值为 null?

Flutter:如何将焦点转移到下一个 TextFormField?

如何在flutter中将焦点转移到下一个文本字段?