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)