Flutter组件-ListView滑动到指定位置(SingleChildScrollView 实现锚点效果)

SingleChildScrollView是Flutter中类似AndroidScrollView的组件,不支持基于Sliver的延迟加载。它可以用于实现锚点效果,通过为每个锚点创建GlobalKey,并使用Scrollable.ensureVisible方法实现跳转到特定位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.SingleChildScrollView 简介:

ListView 组件默认内容比较多的时候具有延迟加载的特性。 

SingleChildScrollView 不支持基于 Sliver 的延迟实例化模型,也就是使用 SingleChildScrollView 

默认没有延迟加载的特性。 

SingleChildScrollView 类似于 Android 中的 ScrollView,它只能接收一个子组件,由于默认没 

有延迟加载的特性,所以我们可以刚开始就获取里面所有速度的位置,这样就可以很好的实 

现锚点效果。

二.SingleChildScrollView 锚点的实现流程:

将需要锚点的所有代码使用 SingleChildScrollView 包裹,为每一个锚点创建对应的 GlobalKey, 

使用 Scrollable 的 ensureVisible 方法跳转至每个 key.

步骤一:创建key

GlobalKey gk1 = GlobalKey();

步骤二:将布局的listView(或者Container)更改为SingleChildScrollView

步骤三:实现跳转

Scrollable.ensureVisible(gk1.currentContext as BuildContext)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值