Flutter 如何避免动画列表中圆形化身的口吃?

Flutter 如何避免动画列表中圆形化身的口吃?,flutter,Flutter,当使用AnimatedList小部件时,有没有一种方法可以避免圆圈内的头像图像口吃 口吃可以在下面的gif上看到 我目前实现的动画列表是 Widget _buildSearchResults() { return AnimatedList( key: _searchResultListKey, shrinkWrap: true, physics: ClampingScrollPhys

当使用AnimatedList小部件时,有没有一种方法可以避免圆圈内的头像图像口吃

口吃可以在下面的gif上看到

我目前实现的动画列表是

    Widget _buildSearchResults() {
    return AnimatedList(
                key: _searchResultListKey,
                shrinkWrap: true,
                physics: ClampingScrollPhysics(),
                initialItemCount: _searchResults.length,
                itemBuilder: (context, index, animation) {
                  return _buildSearchResultItem(
                      context, index, _searchResults[index], animation);
                },
              ),
    }

    Widget _buildSearchResultItem(
      BuildContext context, int index, User user, Animation<double> animation) {
    return SizeTransition(
      axis: Axis.vertical,
      sizeFactor: animation,
      child: Container(
        margin: EdgeInsets.symmetric(vertical: 20.h),
        child: Row(
          crossAxisAlignment: CrossAxisAlignment.end,
          children: [
            CachedNetworkImage(
              imageUrl: user.imageURL,
              imageBuilder: (context, imageProvider) => CircleAvatar(
                backgroundImage: imageProvider,
              ),
              placeholder: (context, url) => BulbiLoading(),
            ),
            SizedBox(width: 35.w),
            Expanded(
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Text(
                    user.name,
                    style: TextStyle(
                      color: BulbiColors.primary,
                      fontSize: 38.ssp,
                    ),
                  ),
                  SizedBox(height: 15.h),
                  Text(
                    "@${user.username}",
                    style: TextStyle(
                      color: Colors.grey[600],
                      fontSize: 35.ssp,
                    ),
                  ),
                ],
              ),
            ),
            SizedBox(width: 20.w),
            TextButton(
              style: TextButton.styleFrom(
                onSurface: BulbiColors.secondary,
                primary: BulbiColors.secondary,
                shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(100),
                ),
              ),
              onPressed: () {
                setState(() {
                  _invitedUsers.add(user);
                  _invitedUserListKey.currentState.insertItem(
                    _invitedUsers.length - 1,
                    duration: _transitionDuration,
                  );
                  final removedUser = _searchResults.removeAt(index);
                  _searchResultListKey.currentState.removeItem(
                    index,
                    (context, animation) => _buildSearchResultItem(
                        context, index, removedUser, animation),
                    duration: _transitionDuration,
                  );
                });
              },
              child: Text(
                "Invite",
                style: TextStyle(
                  color: BulbiColors.secondary,
                  fontSize: 39.ssp,
                ),
              ),
            ),
          ],
        ),
      ),
    );}

Widget\u buildSearchResults(){
返回动画列表(
键:\ u searchResultListKey,
收缩膜:对,
物理:ClampingScrollPhysics(),
initialItemCount:\u searchResults.length,
itemBuilder:(上下文、索引、动画){
返回_buildSearchResultItem(
上下文、索引、搜索结果[索引]、动画);
},
),
}
Widget\u buildSearchResultItem(
BuildContext上下文、int索引、用户、动画){
返回大小转换(
轴:轴垂直,
sizeFactor:动画,
子:容器(
边缘:边缘组。对称(垂直:20.h),
孩子:排(
crossAxisAlignment:crossAxisAlignment.end,
儿童:[
CachedNetworkImage(
imageUrl:user.imageUrl,
imageBuilder:(上下文,imageProvider)=>CircleAvatar(
背景图片:imageProvider,
),
占位符:(上下文,url)=>BulbiLoading(),
),
尺寸箱(宽度:35.w),
扩大(
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
正文(
user.name,
样式:TextStyle(
颜色:球双色。原色,
字体大小:38.ssp,
),
),
尺寸箱(高度:15.h),
正文(
“@${user.username}”,
样式:TextStyle(
颜色:颜色。灰色[600],
字体大小:35.ssp,
),
),
],
),
),
尺寸箱(宽度:20.w),
文本按钮(
样式:TextButton.styleFrom(
表面:球二色,
初级:球二色。次级,
形状:圆形矩形边框(
边界半径:边界半径。圆形(100),
),
),
已按下:(){
设置状态(){
_添加(用户);
_invitedUserListKey.currentState.insertItem(
_长度-1,
持续时间:_过渡持续时间,
);
最终removedUser=\u searchResults.removeAt(索引);
_searchResultListKey.currentState.removeItem(
指数
(上下文、动画)=>\u buildSearchResultItem(
上下文、索引、removedUser、动画),
持续时间:_过渡持续时间,
);
});
},
子:文本(
“邀请”,
样式:TextStyle(
颜色:球二色,
字体大小:39.ssp,
),
),
),
],
),
),
);}
如果我删除圆圈化身图像,它将不会出现如上所示的问题,但我不能这样做,因为我需要圆圈化身来让用户的UI更清晰

有没有人和我有同样的问题

多谢各位