可滚动定位列表

一个允许滚动到列表特定项目的 Flutter 列表。

也允许确定当前可见的项目。

用法

ScrollablePositionedList 的工作方式与 ListView 的 builder 版本非常相似,不同之处在于该列表可以滚动或跳转到特定项目。

示例

可以使用以下方式创建 ScrollablePositionedList

final ItemScrollController itemScrollController = ItemScrollController();
final ItemPositionsListener itemPositionsListener = ItemPositionsListener.create();

ScrollablePositionedList.builder(
  itemCount: 500,
  itemBuilder: (context, index) => Text('Item $index'),
  itemScrollController: itemScrollController,
  itemPositionsListener: itemPositionsListener,
);

然后可以滚动到特定项目

itemScrollController.scrollTo(
  index: 150,
  duration: Duration(seconds: 2),
  curve: Curves.easeInOutCubic);

或跳转到特定项目

itemScrollController.jumpTo(index: 150);

可以使用以下方式监控屏幕上可见的项目

itemPositionsListener.itemPositions.addListener(() => ...);

可以在示例文件夹中找到完整的示例。


这不是 Google 官方支持的产品。

GitHub

查看 Github