SingleChildScrollView
簡介
-
ListView
組件默認(rèn)內(nèi)容比較多的時(shí)候具有延遲加載的特性吠昭。 -
SingleChildScrollView
不支持基于Sliver
的延遲實(shí)例化模型卢厂,也就是使用SingleChildScrollView
默認(rèn)沒有延遲加載的特性亮隙。 -
SingleChildScrollView
類似于Android
中的ScrollView
,它只能接收一個(gè)子組件,由于默認(rèn)沒有延遲加載的特性,所以我們可以剛開始就獲取里面所有速度的位置僵井,這樣就可以很好的實(shí)現(xiàn)錨點(diǎn)效果。
SingleChildScrollView
錨點(diǎn)的實(shí)現(xiàn)流程
將需要錨點(diǎn)的所有代碼使用SingleChildScrollView
包裹驳棱,為每一個(gè)錨點(diǎn)創(chuàng)建對(duì)應(yīng)的GlobalKey
批什,使用Scrollable
的ensureVisible
方法跳轉(zhuǎn)至每個(gè)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)