SliverChildBuilderDelegate - 反转方法

8

SliverList有像ListView.builder一样的reverse选项吗?

我发现CustomScrollView有一个reverse方法,但这并不能满足我的需求。


1
你在找什么? - Adrian Murray
@AdrianMurray,他只需要反转SliverList。而不是整个CustomScrollView的slivers。@tom-osullivan你解决了吗? - Nizam
最终为了解决这个问题,我反转了列表本身而不是反转滑块。 - Tom O'Sullivan
1个回答

2
由于SliverList没有反转选项或参数,您需要在用于创建子项的SliverChildDelegate内手动计算反转索引。只有当您知道正在构建的列表长度时,才能进行此操作。
如果您有一个List,您可以从SliverChildDelegate.builder的索引中计算反转索引。
(BuildContext context, int index) {
  final reversedIndex = items.length - index - 1;
  ...
}

这是使用SliverChildBuilderDelegate的效果:
SliverList(
  delegate: SliverChildBuilderDelegate(
    (BuildContext context, int index) {
      final reversedIndex = items.length - index - 1;
      return MyWidget(items[reversedIndex]);
    },
    childCount: items.length,
  ),
);

1
起初我找不到明显的答案,希望这能帮助未来的某个人。 :-) - Apealed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接