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();
          }),
    ))
相关推荐
YM52e44 分钟前
鸿蒙 Flutter 渐变效果详解:LinearGradient、RadialGradient、SweepGradient
android·学习·flutter·华为·harmonyos·鸿蒙
YM52e1 小时前
鸿蒙 Flutter BoxDecoration装饰:打造精美UI效果
学习·flutter·ui·华为·harmonyos·鸿蒙
YM52e3 小时前
鸿蒙Flutter Card组件:Material设计风格卡片
android·学习·flutter·华为·harmonyos·鸿蒙
世人万千丶13 小时前
鸿蒙Flutter TextStyle样式配置
学习·flutter·harmonyos·鸿蒙
nice先生的狂想曲16 小时前
flutter中key的使用
flutter·客户端
常在士心19 小时前
Flutter Dio高阶封装&多级缓存策略
flutter
司素网20 小时前
Flutter Platform Channel 的 await 陷阱:为什么加与不加相差 100ms?
flutter
zengorange21 小时前
Dart语言
学习·flutter
YM52e1 天前
鸿蒙Flutter Stack堆叠布局:实现多层级界面
学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
帅次1 天前
Android 高级工程师面试:Flutter 渲染与性能 近1年高频追问 20 题
android·flutter·面试·渲染·性能