AnimatedListウィジェット

概要

AnimatedListウィジェットは、通常のListViewウィジェットに挿入や削除のアニメーションを適用したものである。

見た目

解説

アイテムの追加などはkeyのメソッドを使用して行う。

void addItem(int index) {
  _listKey.currentState.insertItem(index);
}
 
void removeItem(int index) {
  _listKey.currentState.removeItem(index);
}

アニメーションの適用にはitemBuilderのanimationプロパティを使用する。

AnimatedList(
  key: _listKey,
  initialItemCount: _list.length,
  itemBuilder: (context, index, animation) {
    return ListTile(
      key: ValueKey(_list[index]),
      title: Text(_list[index].toString()),
      leading: Icon(Icons.person),
    );
  },
),

プロパティ

プロパティ名概要備考
keyキーを指定する
initialItemCount初期アイテム数を指定する
itemBuilder各アイテムを構築する関数を渡す
scrollDirectionスクロール方向を指定する
reverse順序を判定するかを指定する