[英]Flutter - Selected items move to top of ListView
我一直在尋找一種方法,可以將選定的項目永久地移動到列表視圖的頂部。
這可以通過按下ListView
元素旁邊的iconbutton
並使該元素在refresh
時移到頂部來實現。
如果可能的話,我希望圖標按鈕在enabled
(即發光/點亮),並在disabled
(變灰,但仍可按下)。
在這個問題中,我將無法滿足我的所有代碼要求,因此所有這些以及_getListItemUi
都可以在以下網址獲得: https : //github.com/Jak3-02/myproject2
這是我當前的ListView的樣子:
Widget _cryptoWidget() {
return new Container(
child: new Column(
children: <Widget>[
new Flexible(
child: new ListView.builder(
itemCount: _currencies.length,
itemBuilder: (BuildContext context, int index) {
final int i = index ~/ 2;
final Crypto currency = _currencies[i];
final MaterialColor color = _colors[i % _colors.length];
if (index.isOdd) {
return new Divider();
}
return _getListItemUi(currency, color);
},
),
),
],
)
);
}
謝謝,所有的想法都表示贊賞。 :)
這聽起來很像一個課堂項目,所以我將為您指出正確的方向,以便自己解決這個問題。
注意代碼中的項目生成器。 它讀取_currencies列表並構建相應的窗口小部件。 如果您重新排列 _currencies中的項目並再次運行此代碼,將會發生什么?
當_cryptoWidget的_currencies列表更改時,您將如何重繪_cryptoWidget? 您將使用有狀態小部件還是無狀態小部件? 當數據更改時,其中哪一個會重繪?
您需要一個可點擊的圖標,該圖標在啟用和禁用時看起來會有所不同。 您是否已查看Widget Catalog ?
有了這些說明,您應該可以輕松解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.