Анимация элементов в ListView внутри построителя потоков

#flutter #dart #flutter-animation

#flutter #dart #flutter-анимация

Вопрос:

Я работал над проектом flutter, который включал поиск элементов из базы данных SQL, а затем отображение их внутри StreamBuilder. Я хотел добавить анимацию при добавлении новых элементов с помощью пакета с именем «flutter_staggered_animations», но поскольку каждый раз, когда выполняется поиск, все элементы внутри моего ListView обновляются, и анимация происходит для каждого элемента, как я могу сделать анимацию только для новых результатов / элементов (которые не былинайдено в предыдущем поиске)? Я новичок в flutter. код для тела приведен ниже

 body: StreamBuilder(
        stream: _stream,
        builder: (BuildContext ctx, AsyncSnapshot snapshot){
          if(snapshot.data == null){
            return Container(
              child:Center(child: Text("Enter a search word")),
            );
          }
          if(snapshot.data == "waiting"){
            return Center(
              child: CircularProgressIndicator(),
            );
          }
          return ListView.builder(
            itemCount: snapshot.data.length <= 20 ? snapshot.data.length : 20,
            itemBuilder: (BuildContext context,int index){
              return AnimationConfiguration.staggeredList(
                position: index,
                duration: const Duration(milliseconds: 375),
                child: SlideAnimation(
                  verticalOffset: 50.0,
                  child: FadeInAnimation(
                    child: Container(
                      color: Colors.grey[300],
                      child: Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: ListTile(
                          // leading: snapshot.data.length!=2 ? null : CircleAvatar(),
                          title: Text(snapshot.data[index]["word"]),
                          subtitle: Text(snapshot.data[index]["definition"]),
                        ),
                      ),
                    ),
                  ),
                ),
              );
            },
          );
        },
      ),