Flutter 聊天界面使用ListView的reverse:true,导致条目太少的时候会从下往上显示,导致顶部大片空白

原文:这个问题主要是因为布局的原因,正常情况下时候ListView的reverse:true,就算条目太少也是从上往下显示的。出现这个原因主要是因为,聊天窗口大家都是使用Column嵌套ListView,ListView负责消息列表,然后还要有输入框之类的,所以不能让ListView占满怎么屏幕所以需要使用Expanded包裹ListView,他会把ListView在条目过少的时候照样将他的宽度拉到可适应的最大,这个是导致布局异常的原因。想要解决就是让Expanded不要拉伸ListView,在ListView的外成嵌套一个布局,让Expanded拉伸该布局,然后让该布局设置布局内子widget的定位规则丛上往下,这样就可以了

原文链接:https://blog.csdn.net/qq_35364808/article/details/111618498

Dart 复制代码
Expanded(
        child: Align( // 此处为关键代码
      alignment: Alignment.topCenter,
      child: ListView.builder(
          reverse: true,
          shrinkWrap: true,
          itemCount: widget.model.dataList.length,
          itemBuilder: (context, index) {
            return ChatMessageWidget();
          }),
    ))
相关推荐
阿里云云原生12 小时前
还原一次用户等待:深度解析 Flutter RUM SDK 如何打通 Dart 到 Native 的观测链路
flutter
_阿南_14 小时前
flutter 展示的字体突然奔放了
android·flutter·ios
GitLqr17 小时前
玩转 Dart typedef:不仅是函数别名那么简单
flutter·面试·dart
FungLeo19 小时前
Flutter 两个反直觉布局坑:ListTile 水波纹 / VerticalDivider 踩坑实录
android·flutter
年小个大1 天前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
FungLeo2 天前
Flutter 骨架屏 Shimmer 实现:不用 transform 的扫光法实战
前端·javascript·flutter
GitLqr2 天前
Flutter 居然能直接跑在 Apple Watch 上了?玩转 flutter-watchos
flutter·全栈·apple watch
你听得到112 天前
排查 App 问题:别只盯着报错,把前后发生的事情串起来
android·前端·flutter
天空之城--2 天前
近一周Android Flutter行业动态与实用参考
android·flutter
GitLqr2 天前
玩转 Flutter 项目依赖:从 pubspec.yaml 到实战包管理
flutter·面试·全栈