Виджет AnimatedList
Виджет AnimatedList строит строки через
itemBuilder.
Число элементов меняют через
AnimatedListState
и методы insertItem и removeItem.
Состояние списка достают методом of.
Синтаксис
AnimatedList(
initialItemCount: count,
itemBuilder: builder,
)
Параметры
| Параметр | Описание |
|---|---|
initialItemCount |
Сколько элементов построить при первом кадре. |
itemBuilder |
Builder строки по индексу и Animation появления.
|
Методы
| Метод | Описание |
|---|---|
of |
Возвращает AnimatedListState из контекста.
|
Пример
Давайте показать два пункта списка:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: AnimatedList(
initialItemCount: 2,
itemBuilder: (context, index, animation) {
return SizeTransition(
sizeFactor: animation,
child: ListTile(
title: Text(
index == 0 ? 'abcde' : '12345',
),
),
);
},
),
),
),
);
}
На экране два пункта с подписями 'abcde' и '12345'.
Пример
Давайте задать GlobalKey у AnimatedList:
import 'package:flutter/material.dart';
final listKey = GlobalKey<AnimatedListState>();
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: AnimatedList(
key: listKey,
initialItemCount: 1,
itemBuilder: (context, index, animation) {
return SizeTransition(
sizeFactor: animation,
child: Text('abcde'),
);
},
),
),
),
);
}
На экране одна строка 'abcde',
а insertItem вызовут через listKey.currentState.
Смотрите также
-
класс
AnimatedListState,
который вставляет и удаляет элементы -
метод
of,
который находитAnimatedListState -
виджет
SizeTransition,
который часто оборачивают itemBuilder -
виджет
ListTile,
которым оформляют строку списка