gpt4 book ai didi

listview - 如何使 `ListView.builder` 从特定索引开始

转载 作者:行者123 更新时间:2023-12-03 08:51:11 25 4
gpt4 key购买 nike

1。问题

是否有办法让 ListView.builder 从小部件列表的第二个 (index = 1) 项开始?

就我而言 - 更多信息 herehere如果您感兴趣,我正在尝试在 ListView 顶部添加一些空白空间,以便用户可以将顶部卡片滚动到靠近拇指的位置。解决方法是将空的 Container 添加到小部件 List 的顶部和底部以模拟空白空间。但是,ListView 将在屏幕上呈现 Container,用户可能会感到困惑,并且不知道只需滚动即可获得更多卡片。

也许有一种方法可以使用 ScrollController 来做到这一点?

2。一些模板代码

我认为公开代码不会有太大帮助,因为我只是使用典型的 ListView.builder,但这里是为了以防万一您需要复习一下。

ListView.builder(
itemCount: widgetsList.length,
itemBuilder: (context, index){
return widgetsList[index];
},
),

最佳答案

您可以使用 ScrollController 并将其 initialScrollOffset 放置在您想要的原始位置。

  1. 在小部件的类中声明您的 ScrollController
    ScrollController scrollController = ScrollController(
    initialScrollOffset: 10, // or whatever offset you wish
    keepScrollOffset: true,
    );
  2. 将 Controller 添加到您的ListView
    ListView.builder(
    controller: scrollController,
    itemCount: widgetsList.length,
    itemBuilder: (context, index){
    return widgetsList[index];
    },
    ),

此外,您甚至可能想为背景滚动操作创建动画。这可以通过在小部件的 initState 中使用 .animateTo 方法来实现。

关于listview - 如何使 `ListView.builder` 从特定索引开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58885038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com