如何制作一个ListView.builder从一个特定的索引开始

例如,有没有一种方法可以从小部件列表ListView.builder的第二个(index = 1)项目开始?

就我而言,我正在尝试在a的顶部添加一些空白区域,ListView以便用户可以将顶部卡片滚动到更靠近他的拇指的位置。一种解决方法是Container在List小部件的顶部和底部添加empty ,以模拟空白空间。但是,ListViewContainer在屏幕上显示,用户可能会感到困惑,并且不知道仅通过滚动即可获得更多的卡片。

也许有一种方法可以做到这一点ScrollController

我认为公开代码并不会有多大帮助,因为我只是在使用典型的ListView.builder,但在这种情况下,万一您需要复习。

ListView.builder(

itemCount: widgetsList.length,

itemBuilder: (context, index){

return widgetsList[index];

},

),

回答:

  1. 您可以使用ScrollController并将其initialScrollOffset放置在您希望的位置。

ScrollController在小部件的类中声明您的内容。

ScrollController scrollController = ScrollController(

initialScrollOffset: 10, // or whatever offset you wish

keepScrollOffset: true,

);

  1. 将控制器添加到您的ListView

ListView.builder(

controller: scrollController,

itemCount: widgetsList.length,

itemBuilder: (context, index){

return widgetsList[index];

},

),

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

以上是 如何制作一个ListView.builder从一个特定的索引开始 的全部内容, 来源链接: utcz.com/qa/419228.html

回到顶部