使用PageView.builder
我可以获得无限的页面列表,但只能在一个方向上,即在另一个方向上是有限的!
scrollDirection
的默认PageView
为Axis.horizontal
。所以我的意思是,在常规情况下,我只能无限滚动到右边,但不能向左滚动。
我希望能够在双向 中无限滚动。我没有找到办法做到这一点,尤其是因为我希望itemBuilder
能够给出负面指数,这是我从未见过的。这让我想知道这是否已经实现,但我对自定义解决方案持开放态度,并会尝试提出一些东西。
答案 0 :(得分:3)
没有官方方式在两个方向都有无限滚动。
但您可以使用PageController
的{{1}}属性。将它设置为荒谬的大价值。然后使用此值作为“索引0”。
initialPage
答案 1 :(得分:2)
我很直接地解决了这个问题。老实说,我一定不在写这个问题并发出赏金。
// number is irrelevant
final initialPage = (
.161251195141521521142025 // :)
* 1e6,).round();
final itemCount = getSomeItemCount();
PageView.builder(
pageController: PageController(
initialPage: initialPage,
),
itemBuilder: (context, page) {
final index = itemCount - (initialPage - page - 1) % itemCount - 1;
return getPageContent(index);
},
);
我不确定我是否应该赞扬Rémi Rousselet因为我在他提出答案之前使用这种方法。我只是想提一下他,因为这个问题得到了不应有的流量,他帮助我解决了我的问题:)