SingleChildScrollView简介
-
ListView组件默认内容比较多的时候具有延迟加载的特性。 -
SingleChildScrollView不支持基于Sliver的延迟实例化模型,也就是使用SingleChildScrollView默认没有延迟加载的特性。 -
SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件,由于默认没有延迟加载的特性,所以我们可以刚开始就获取里面所有速度的位置,这样就可以很好的实现锚点效果。
SingleChildScrollView锚点的实现流程
将需要锚点的所有代码使用SingleChildScrollView包裹,为每一个锚点创建对应的GlobalKey,使用Scrollable的ensureVisible方法跳转至每个key。
GlobalKey gk1 = GlobalKey();
Container(
key: gk1,
color: Colors.blue,
width: double.infinity,
height: 200,
child: const Text("2"),
)
Scrollable.ensureVisible(gk1.currentContext as BuildContext)