颤振水平滚动一项

时间:2020-03-06 04:34:47

标签: flutter dart horizontal-scrolling

免责声明:-flutter社区中的新手

在本地android代码中,我已经使用手势检测器完成了类似的工作,但是我想知道如何在颤动中也能达到相同的效果。就像我在水平列表中有一张纸牌列表,当用户滚动列表时,一次只能滚动一项。任何实现此目的的想法或建议将不胜感激。

3 个答案:

答案 0 :(得分:4)

我建议您研究PageView

通过此操作,您可以将卡片列表转换为PageView的子代,一次可以一页刷卡。看起来像这样:

final controller = PageController(
  initialPage: 0,
);

final pageView = PageView(
  controller: controller,
  scrollDirection: Axis.horizontal,
  children: <Widget>[
    // your card list here
  ],
  onPageChanged: (index) =>
    setState(() => selectedPageIndex = index),
);

答案 1 :(得分:0)

您可能想看看flutter_swiper插件。

答案 2 :(得分:0)

我使用 scroll_snap_list 包实现了这一点。您需要设置一个固定的项目大小,并根据该固定大小进行滚动。

    ScrollSnapList(
          selectedItemAnchor: SelectedItemAnchor.START,
          itemSize: 163,
          onItemFocus: (index) {},
          duration: 300,
          scrollDirection: Axis.horizontal,
          itemCount: 10,
          itemBuilder: (BuildContext context, int index) {
            return Container(
              width: 155,
              height:155,
            );
          },
        ),