Класс AnimatedListState
Класс AnimatedListState хранит
AnimatedList
и меняет число строк через
insertItem
и removeItem.
Доступ к state даёт GlobalKey или метод of.
Синтаксис
listKey.currentState?.insertItem(0)
Методы
| Метод | Описание |
|---|---|
insertItem |
Вставляет элемент в AnimatedList с анимацией появления.
|
removeItem |
Удаляет элемент из AnimatedList с анимацией и builder для удаляемой строки.
|
Пример
Давайте добавить строку через insertItem:
import 'package:flutter/material.dart';
final listKey = GlobalKey<AnimatedListState>();
void main()
{
runApp(
MaterialApp(
home: Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {
listKey.currentState?.insertItem(0);
},
child: Icon(Icons.add),
),
body: AnimatedList(
key: listKey,
initialItemCount: 1,
itemBuilder: (context, index, animation) {
return SizeTransition(
sizeFactor: animation,
child: Text('abcde'),
);
},
),
),
),
);
}
На экране кнопка add вызовет insertItem,
новая строка 'abcde' появится с анимацией.
Пример
Давайте вывестем подпись перед removeItem:
import 'package:flutter/material.dart';
void main()
{
print('12345');
}
Результат выполнения кода
12345
В консоли '12345' перед вызовом removeItem в своём коде.
Смотрите также
-
виджет
AnimatedList,
которым управляетAnimatedListState -
метод
insertItem,
который добавляет элемент -
метод
removeItem,
который убирает элемент с анимацией -
метод
of,
который находитstateиз контекста