【问题标题】:Flutter: How to make an infinite loop in listviewFlutter:如何在列表视图中进行无限循环
【发布时间】:2021-03-09 10:54:52
【问题描述】:

我试图在我的列表视图中创建一个无限循环,当索引位于末尾并且用户继续向左滚动时,下一项将是第一项

ListView.builder(
                controller: _controller,
                scrollDirection: Axis.horizontal,
                itemCount: packs.length,
                itemBuilder: (context, index) {
                  _index = index;
                  print(index);
                  return Column(
                    mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                    children: [
                    ],
                  );
                },
              ),

我希望用户可以无限滑动,我该怎么做?

【问题讨论】:

    标签: flutter flutter-layout flutter-animation


    【解决方案1】:

    您可以删除 itemCount 并尝试... 但是您不能使用特定的索引,只在该位置显示一个小部件。 您可以打印 Index,但请确保不要将索引与任何数据有限的外部数据源一起使用。

    ListView.builder(
          itemBuilder: (BuildContext context, int index) {
            return ListTile(
              title: Text('Item ${index + 1}'),
            );
          },
        )
    

    【讨论】:

    • 它有效,但仅用于结束,如果 index == 0 并且我向右滑动它不是无限的:(
    【解决方案2】:

    您可以使用包carousel_slider 来实现这两个方向

    【讨论】:

      【解决方案3】:
        ListView.builder(
                      physics: BouncingScrollPhysics(),
                      scrollDirection: Axis.horizontal,
                      // itemCount: items.length,
                      itemBuilder: (context, index) {
                        final i = index % items.length;//<----to the right
                        final item = items[i];
                        return ItemSwiper(
                          item: item,
                          onTab: () => _.goToDetailItem(item: item),
                        );
                      })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-10
        • 1970-01-01
        • 1970-01-01
        • 2014-01-12
        • 2014-02-10
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多