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