flutter anchor_scroll_view
这个包实现了一个支持锚点的 ScrollController。也就是说,AnchorScrollController 支持滚动到索引位置,并在用户滚动时监听索引变化。
特点
入门
在您的 flutter 项目的 pubspec.yaml 文件中,添加以下依赖项
dependencies:
...
anchor_scroll_view: <latest_version>
在您的库中添加以下导入
import 'package:anchor_scroll_controller/anchor_scroll_controller.dart';
import 'package:anchor_scroll_controller/anchor_scroll_wrapper.dart';
初始化一个 AnchorScrollController 对象,并将其用作 ListView 的 ScrollController,并将 ListView 中的项目用 AnchorItemWrapper 包裹起来。
late final AnchorScrollController _scrollController;
@override
void initState() {
super.initState();
_scrollController = AnchorScrollController(
onIndexChanged: (index) {
_tabController?.animateTo(index);
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("GeneralScrollViewWidget"),
),
body: Column(
children: [
Expanded(
child: ListView.builder(
controller: _scrollController,
itemCount: length,
itemBuilder: (context, index) => AnchorItemWrapper(
key: ValueKey(index),
index: index,
controller: _scrollController,
child: Container(
height: 50.0 + Random().nextInt(50),
color: Colors.primaries[index % Colors.primaries.length],
alignment: Alignment.center,
child: Text(index.toString(),
style: const TextStyle(fontSize: 24, color: Colors.black)),
),
)
),
),
... // omit more code
],
)
);

