如何在串列視圖中添加類似于 Google Keep 的 "釘住專案 "功能?
我試著做了2個串列視圖,并將釘住的那個放在一個列的頂部。但問題是它們是分開滾動的,如果我將列包裹在一個 Singlechildscrollview 中,它就會出現錯誤。
我的做法是否正確,或者是否有辦法只使用一個單一的串列視圖?
uj5u.com熱心網友回復:
如果你想實施的話:
- 為你的物件添加一個額外的欄位:bool pinned -> 然后你對串列進行排序,確保被釘住的專案在串列的頂部
- 在專案周圍放置一個GestureDetector,并使用onTap來設定
pinned值 -> pinned = !pinned
或者試試我剛剛發現的這個包:
https://pub.dev/packages/pinnable_listview
uj5u.com熱心網友回復:
我想我已經讓Singlechildscrollview按照我想要的方式作業了。我只需要設定ListView的shrinkWrap: true,以及physics: NeverScrollableScrollPhysics()。我不確定這是否是一個好主意,因為大多數人都說shrinkWrap的使用是一個相當沉重的操作。
SingleChildScrollView(
物理學。ScrollPhysics()。
孩子。Column()
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
兒童。[
Text('Pinned')。
PinnedListItemHere(), //ListView of Pinned Items.
分割器()
高度。25.0。
厚度。2.0,
),
Text('Others')。
UnpinnedListItemHere(), //ListView of Unpinned Items[/span
],
),
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/315715.html
標籤:
