flutter SingleChildScrollView实现锚点效果

SingleChildScrollView简介

  • ListView组件默认内容比较多的时候具有延迟加载的特性。
  • SingleChildScrollView不支持基于Sliver的延迟实例化模型,也就是使用SingleChildScrollView默认没有延迟加载的特性。
  • SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件,由于默认没有延迟加载的特性,所以我们可以刚开始就获取里面所有速度的位置,这样就可以很好的实现锚点效果。

SingleChildScrollView锚点的实现流程

将需要锚点的所有代码使用SingleChildScrollView包裹,为每一个锚点创建对应的GlobalKey,使用ScrollableensureVisible方法跳转至每个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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容