フラッターのリサイクルビューの代替手段は何ですか?このコードを使用してみましたが、フラッターのリストビューウィジェットでアニメーションを行う方法
これは有効ですか?
ListView(
children: <Widget>[
ListTile(
leading: Icon(Icons.map),
title: Text('Map'),
),
ListTile(
leading: Icon(Icons.photo_album),
title: Text('Album'),
),
ListTile(
leading: Icon(Icons.phone),
title: Text('Phone'),
),
],
);
アニメーションにはanimatedlistウィジェットを使用することもできます。コード例は次のリンクにあります。
ListView
:
通常、これは少数の子で使用する必要があります。リストはリスト内の非表示の要素も作成し、大量の要素がこれを非効率にする可能性があるためです。
ListView.builder()
:
リストアイテムは遅延して構築されます。つまり、特定の数のリストアイテムのみが構築され、ユーザーが前方にスクロールすると、以前のリストアイテムは破棄されます。
詳細は こちら です。
フォロー中 flutter-for/Android-devs
リストを作成するための推奨される効率的で効果的な方法は、ListView.Builderを使用します。この方法は、動的なリストまたは非常に大量のデータを含むリストがある場合に最適です。これは基本的に、AndroidのRecyclerViewと同等で、リスト要素を自動的にリサイクルします。
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Sample App"),
),
body: ListView.builder(
itemCount: widgets.length,
itemBuilder: (BuildContext context, int position) {
return getRow(position);
}));
}
Widget getRow(int i) {
return GestureDetector(
child: Padding(
padding: EdgeInsets.all(10.0),
child: Text("Row $i")),
onTap: () {
setState(() {
widgets.add(getRow(widgets.length + 1));
print('row $i');
});
},
);
}