如何制作一个ListView.builder从一个特定的索引开始
例如,有没有一种方法可以从小部件列表ListView.builder的第二个(index = 1)项目开始?
就我而言,我正在尝试在a的顶部添加一些空白区域,ListView以便用户可以将顶部卡片滚动到更靠近他的拇指的位置。一种解决方法是Container在List小部件的顶部和底部添加empty ,以模拟空白空间。但是,ListView
将Container
在屏幕上显示,用户可能会感到困惑,并且不知道仅通过滚动即可获得更多的卡片。
也许有一种方法可以做到这一点ScrollController
?
我认为公开代码并不会有多大帮助,因为我只是在使用典型的ListView.builder,但在这种情况下,万一您需要复习。
ListView.builder( itemCount: widgetsList.length,
itemBuilder: (context, index){
return widgetsList[index];
},
),
回答:
- 您可以使用
ScrollController
并将其initialScrollOffset
放置在您希望的位置。
ScrollController在小部件的类中声明您的内容。ScrollController scrollController = ScrollController(
initialScrollOffset: 10, // or whatever offset you wish
keepScrollOffset: true,
);
- 将控制器添加到您的
ListView
ListView.builder( controller: scrollController,
itemCount: widgetsList.length,
itemBuilder: (context, index){
return widgetsList[index];
},
),
此外,您甚至可能要为背景滚动动作创建动画。这可以通过使用.animateTo
小部件的中的方法来实现initState
。
以上是 如何制作一个ListView.builder从一个特定的索引开始 的全部内容, 来源链接: utcz.com/qa/419228.html