从零开始Flutter版微信APP--聊天页之ListView

flutter聊天界面-聊天列表 下拉加载更多历史消息 flutter聊天界面-聊天列表 下拉加载更多历史消息,主要实现Column中使用Expand嵌套ListView布局,设置reverse、physics、ScrollBehavior。可以解决reverse为true首导致顶部大片空白问题,去除ListView滑动波纹。之后在消息的最后一条设置为加载更多消息指示器与没有更多消息提示。 阅读详情

以下为授权转载的一盎司科技公众号文章


接下来介绍聊天页面,这里主要展示一个列表,每个子项包含头部图标,正文,副标题以及尾部时间展示等。这里主要使用ListView控件,包括子项ListTile控件。

示例代码地址:

GitHub地址:https://github.com/iounce/flutter-wechat

Gitee地址:https://gitee.com/iounce_admin/flutter-wechat

环境

  • Windows操作系统:Windows10(21H2,19044.1766)

  • Android Studio:Giraffe 2022.3.1 Patch 2

  • Flutter: 3.13.0

  • Dart: 3.1.0

  • get: 4.6.6

添加controller文件

添加controller文件,用于绑定列表数据源,这里简单处理,固定为字符串,可以改造为一个类,用于完整标识列表子项的数据。

图片

修改WechatPage页

在WechatPage页面的build函数中,添加返回ListView的处理,这里调用ListView.separated()函数来构造ListView,其中separatorBuilder属性增加分隔符Divider(),itemCount属性指定列表子项数目,itemBuilder属性用于构建列表子项。子项采用ListTile控件来实现,包含标题,副标题,前后图标等。

图片

图片

这里一般控件会有颜色color属性,可以直接使用预定的Colors类中预设值的Material Color,对于文本则需要使用style属性来设置颜色。另外图标控件Icon可以使用预设值的Material Icon,也非常方便。

效果图

图片

这里简单固定模拟参数,后续可以考虑改为动态获取。

flutter5

跨平台8

app16

flutter · 目录

上一篇从零开始Flutter版微信APP--主页之BottomNavigationBar下一篇从零开始Flutter版微信APP--通讯录页之AzListView

使用-Flutter-快速实现聊天应用,带你快速通过字节跳动面试 } 小 tips: 安装 SDK 期间遇到任何困难都可在 LeanCloud 社区 发帖求助。 SDK 安装成功以后,需要分别 初始化 iOS 和 Android 平台。 用户系统 Demo 里面并没有内置用户系统,可以选择联系人列表中的用户名来登录聊天系统。LeanCloud 即时通信服务端中只需要传入一个唯一标识字符串既可以表示一个「用户」,对应唯一的 Client, 在应用内唯一标识自己的 ID(clientId)。 在自己的项目中,如果已经有独立的用户系统也很方便维 阅读详情

相关推荐

Flutter之开发简易聊天界面

一、背景 公司要求开发一个flutter做的简易聊天画面,使用flutter开发起来还是挺快的,有一些细节需要注意的,记录一下。 二、实现 展示效果: 1、新建listview ListView如果正常使用正序展示列表的话,假如数据比较多,超过了一屏幕的长度,我们进入这个页面希望滚动到消息的最下方,需要调用方法_scrollController.jumpTo(_scrollController.position.maxScrollExtent),但是flutter的这个方法有些鸡肋,实验并不能滚动到l

kkloqin的专栏 6015

一个功能强大的Flutter开源聊天列表插件

flutter_im_list是一款高性能、轻量级的Flutter聊天列表插件。可以帮助你快速创建出类微信的聊天列表的效果。

fengyuzhengfan的专栏 3334

Android应用开发为何是中小企业数字化落地的首选路径

移动应用开发是企业触达用户的核心载体,而Android凭借超70%的全球市场份额和开放可控的生态,成为初创与中小企业低成本、高确定性构建私域流量、沉淀数据资产、提升运营效率的首选平台。其原生能力支撑精准通知、本地化适配、系统级API调用与深度硬件集成,显著降低用户获取成本(CAC)并强化品牌信任感。相比跨平台方案,原生Android(Kotlin)在性能敏感、交互复杂及合规要求高的业务场景中具备更高长期ROI。本文聚焦中小企业真实落地经验,解析从MVP验证、冷启动策略到兼容性优化的全链路实践逻辑。

weixin_30338481的博客 3676

Flutter实战一Flutter聊天应用(汇总)

纸聊这个应用程序使用Google的Flutter移动框架开发,是一个实时聊天应用程序,为了能专注于APP设计,应用程序的服务端使用Googler的Firebase平台。程序程序的名称为纸聊,意为像传递小纸条一样的简约聊天,登录后所有好友都在,消息无缝同步,还能发送图片。支持Android、iOS等多个平台,多端消息漫游同步。(由于使用了谷歌的后端服务,该应用程序必须在科学上网时才能正常使用。)应用截

咖啡花园 1万+

Flutter模仿微信通讯录列表、列表筛选

注释写的还是比较清楚的,这里就不做一一介绍了,###入口是ListPage类,###这是右侧的索引条。

weixin_43031192的博客 999

Flutter GetX 实现 ChatGPT 简单聊天界面

Flutter 是一款跨平台的移动应用开发框架,而 GetX 是 Flutter 中一种简单易用的状态管理和路由管理工具。本篇我们将使用 Flutter 和 GetX 实现一个简单的聊天界面,以与 ChatGPT 进行交互。

萌动小彩笔的博客 7146

用Flutter打造微信级即时通讯应用:wechat_flutter完整实践指南

你是否曾想过用Flutter开发一个功能完整的即时通讯应用,却苦于无从下手?今天我要介绍的这个开源项目——wechat_flutter,或许能为你打开一扇全新的大门。这不仅仅是一个简单的UI模仿项目,而是一个功能完备、架构清晰的微信级IM解决方案。 ## 为什么选择wechat_flutter? 在众多Flutter项目中,wechat_flutter之所以脱颖而出,是因为它解决了开发者最头疼

gitblog_00600的博客 893

Flutter —— 聊天界面

Flutter —— 聊天界面 首先做的事右上角的按钮,右上角要弄一个menu,那么这里可以在AppBar的actions添加Flutter封装好的控件PopupMenuButton,用一个container包着调整位置,然后用offset调整自身的位置。 actions: [ Container(child: PopupMenuButton( itemBuilder: (BuildContext context) { re

LinShunIos的博客 2710

Flutter 实现完美的双向聊天列表效果,滑动列表的知识点

本文将通过一个需求场景,介绍一个非常实用的 Flutter 列表滑动知识点,该问题来源于网友的咨询。 如何在 Flutter 上实现一个聊天列表,相信大家都不会觉得有什么困难,不就是一个 ListView ,然后根据类型显示渲染数据吗?这有什么困难的? 理论上确实没什么问题,但是有一个需求场景,却会出现一个无法修复的问题,那就是:聊天列表需要双向插入数据。 双向插入数据会导致 ListView 什么问题? 举个例子,首先我们使用常见的 ListView 绘制出一个模拟聊天列表,这里使用了 revers.

恋猫de小郭的博客 3321

图像特征(一)——颜色特征(颜色直方图,颜色矩,颜色集,颜色聚合向量和颜色相关图)

本文主要是为了更好地理解图像特征,理解各方法的原理。转载请注明出处https://mp.youkuaiyun.com/console/editor/html/105090183 图像模式识别的一般步骤为:输入图像--图像预处理--特征提取--特征选择--图像分类--输出结果。 图像特征主要有:颜色特征、形状特征、纹理特征和空间关系特征。 本文主要介绍颜色特征,并给出matlab上实现的demo。 颜...

gloria_iris的博客 3万+

Windows升级保留个人文件和应用灰色?改注册表版本指纹

Windows 升级安装并非简单跳过下一步,安装程序会先读取注册表中 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 下的 EditionID、ProductName、CompositionEditionID 等版本指纹,与目标镜像 install.wim/esd 记录的版本类型做双向匹配。若当前系统被识别为 LTSC、精简版或跨版本降级,兼容性扫描会判定升级路径不可用,于是“保留个人文件和应用”变灰,只能全新安装。理解版本指纹与升级可行性表的匹配机制,可

weixin_31986143的博客 365

flutter_weixin聊天界面实现

2、输入的数据用list储存。1、自定义聊天文本框。

scan001111的博客 701

【Qt-4】QT基于qhttp-server搭建http服务器

QT搭建http服务器

WXG1011的博客 5712

6、Flutterr聊天界面&网络请求

3. 接着点击右上角‘编辑’按钮,新建响应内容,类型为Array,一次生成50条4. 点击chat_list左侧添加按钮,新建chat_list中的数据内容,此时用到一个.将数据填上,然后保存.5.接下来,我们想让获取的图像是个随机值,那么参考网站中的生成规则.6.接着回到响应内容这里,通过设置初始值规则,生成随机的图片地址.

Holothurian 3385

【无人机编队】基于matlab虚拟leader无人机编队仿真【含Matlab源码 3279期】

虚拟leader无人机编队仿真 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 836

【FPGA教程案例59】深度学习案例6——基于FPGA的CNN卷积神经网络之整体实现

在课程,我们对的基本原理有了初步认识。在上一个课程,我们完成了CNN的Relu激活层、pool池化层、卷积层以及图像输入层的实现,如下图所示:在本课程中,我们将上述四个模块结合起来,构建一个简单的CNN卷积神经网络。...

FPGA/MATLAB学习教程/源码/项目合作开发 2635

Flutter学习笔记(五)聊天界面:PopupMenu,ListView的使用以及简单聊天布局

Flutter学习笔记(五)聊天界面:PopupMenu,ListView的使用以及简单聊天布局PopupMenu的使用ListView的使用简单的聊天布局 距离上一次更新也过了一段时间了,期间忙着学车去了,现在有空再来写一篇。 PopupMenu的使用 为什么要用这个PopupMenu呢,因为大多数消息界面的右上角,都会有一个设置的选项,而这个选项最常用的就是通过PopupMenu来实现。首...

qq_41912380的博客 6282

【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)

随着打印技术的快速发展,镭射打印技术也开始得到越来越广泛的应用。这种技术可以被用于在木材、塑料、皮革、织物等各种材料上进行图形打印,并且通常比传统机器更快、更准确和更灵活。

嵌入式技术开发 7198

Flutter聊天页面

一、依赖与预览 get: 4.1.4 video_player: ^2.1.1 /// 播放视频 emoji_picker_flutter: ^1.0.5 /// 表情库 flutter_keyboard_visibility: ^5.0.3 /// 监听键盘弹起 有关IM相关的请看《Flutter融云接入部分》 预览 二、使用 _messageText:TextEditingController()类型 1. 表情部分展示 import 'package:emoji_picker_flutt

鲸落 3325

【报错】(pycharm运行程序)OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading

1 报错 OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading 2 分析原因 通过 activate Distance 进行自己创建的 Distance 虚拟环境中,输入python会显示环境中python的版本信息,再依次import,显然不会报错。 这是因为在Anaconda的环境下有支持 import torch 的 dll,而在PyCharm中使用的是自己创建的新环境,还缺少相应支持的dll,仅需在PyCharm中配置环境变量。.

静谧、淡雅 8621

MaxScript批量修改材质、贴图名称

MaxScript批量修改材质、贴图名称1 实现效果1.1 修改前材质、贴图名称1.2 修改后2 代码 1 实现效果 1.1 修改前材质、贴图名称 1.2 修改后 2 代码 prefixName = "prefiname" maxFile = "maxfilepath" makeDir "newBitmappath" mapsPath = newbitmappath + "\\" fn formatStr index = ( str = index as string newS

郑德帅 3240

Flutter Chat UI 2.2.0版本发布:聊天列表架构全面升级

Flutter Chat UI是一个用于构建现代化聊天界面的Flutter组件库,它提供了丰富的预构建UI组件和灵活的定制选项,帮助开发者快速实现高质量的聊天功能。本次2.2.0版本的发布带来了重大架构改进,特别是针对聊天列表的核心组件进行了全面重构。 ## 重大变更与架构革新 ### 1. ChatAnimatedList全面重构 本次版本最核心的改进是对`ChatAnimatedList

gitblog_01353的博客 542

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

简单使用Flutter实现聊天

2.使用 Flutter 中提供的 Stream API 监听 WebSocket 的数据流;在这个示例中,我们通过 WebSocket 连接到本地服务器,并使用 JSON 编码消息。1.使用 Flutter 中提供的 WebSocket API 进行实时通信;方法将消息发送到服务器。可以使 UI 响应数据流变得更简单。方法连接到 WebSocket,3.将接收到的消息渲染到列表中。

weixin_43169271的博客 901

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【Flutter】聊天(更新)

nodeJs-websocket+flutter搭建一个可以聊天的软件

sheng_er_sheng的博客 1217

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Flutter高仿微信-第28篇-好友详情-查看个人头像

点击用户的头像,查看详情资料。

maoning20080808的专栏 633

flutter聊天界面-消息气泡展示实现Flexible

flutter聊天界面-消息气泡展示实现Flexible,主要Flexible实现展示,使用CustomPainter实现自定义绘制效果。

一名开发者 1995
上一篇: 从零开始Flutter版微信APP--主页之BottomNavigationBar
下一篇: 从零开始Flutter版微信APP--通讯录页之AzListView
iounce
博客等级 码龄18年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值