字节笔记本

2026年3月22日

flutter_hrlweibo:Flutter 仿微博客户端开源项目

本文介绍 flutter_hrlweibo,一个基于 Flutter 开发的仿微博客户端项目,高度还原了微博最新版本的核心界面与交互功能,涵盖了首页信息流、视频播放、发现页、消息聊天以及个人中心五大模块,是学习 Flutter 实战开发的优秀参考项目。

项目简介

flutter_hrlweibo 是由开发者 huangruiLearn 开源的一个 Flutter 仿微博客户端项目。该项目致力于还原微博最新版本约 80% 的界面,总共涉及数十个界面和接口调用,几乎用到了 Flutter 中的大部分核心组件。项目在 GitHub 上获得了 2.9k Star 和 693 Fork,是 Flutter 中文社区中备受关注的社交类应用示例。

项目采用原生技术栈构建,代码语言分布为 Dart(98.3%)、Java(1.5%),结构清晰,适合有一定 Flutter 基础的开发者深入学习和二次开发。

核心特性

五大模块完整覆盖

项目将微博客户端划分为五个核心模块,每个模块都实现了丰富的功能细节:

  • 首页模块:包含微博信息流、轮播图展示、图文混排、多种卡片类型(纯文字、九宫格图片、视频、转发等)、下拉刷新与上拉加载、话题标签点击、评论与点赞交互、用户资料页跳转等完整的微博信息浏览体验。
  • 视频模块:集成视频播放功能,支持视频列表浏览、全屏播放等操作,为用户提供沉浸式的短视频观看体验。
  • 发现模块:包含热门话题、热搜榜单、附近动态、扫码等微博发现页的核心功能入口,界面布局与原版微博高度一致。
  • 消息模块:仿照微博聊天界面设计,实现了私信对话列表、聊天消息展示、文字输入与发送、语音消息录制与播放等即时通讯功能。
  • 我的模块:个人中心页面,包含用户头像与资料编辑、微博列表(原创/转发/收藏)、粉丝关注列表、设置页面等完整功能。

丰富的交互细节

项目在交互层面做了大量工作,包括但不限于:页面间的路由跳转与参数传递、键盘弹出的自适应布局处理、@和#等特殊字符在输入框中的处理、权限管理(相机、麦克风等)、录音与音频播放功能等。这些细节使得项目不仅仅停留在"形似"层面,更在"神似"上做到了较高的还原度。

测试账号支持

项目内置了多个测试账号,方便开发者快速体验完整功能而无需搭建后端服务。提供的测试账号包括 test1 到 test5,密码统一为 123。

技术栈

核心框架

  • Flutter 3.0.5:项目基于 Flutter 3.0.5 版本开发,使用了该版本提供的大量现代化组件和 API。
  • Dart:主要编程语言,占据项目 98.3% 的代码量。

关键第三方依赖

项目选用了多个成熟的 Flutter 第三方库来支撑各类功能需求:

第三方库功能描述GitHub 地址
dio网络请求框架,支持拦截器、全局配置等flutterchina/dio
flutter_swiper轮播图组件,用于首页轮播展示best-flutter/flutter_swiper
video_player视频播放基础组件flutter/plugins
chewie视频播放器封装,提供更友好的播放控制brianegan/chewie
fluro路由管理框架,支持通配符和参数传递theyakka/fluro
permission_handler运行时权限处理Baseflow/flutter-permission-handler
keyboard_visibility键盘显示与隐藏状态监听adee42/flutter_keyboard_visibility
audio_recorder音频录制功能pub.flutter-io.cn
audioplayers音频播放功能luanpotter/audioplayers
extended_text_field扩展文本输入框,支持 @ # 等特殊字符处理fluttercandies/extended_text_field

平台支持

项目支持 Android 和 iOS 双平台,可通过删除原生目录后执行 flutter create . 重新生成平台配置文件来完成本地编译适配。

安装指南

环境要求

  • Flutter SDK 3.0.5 或以上版本
  • Android Studio / VS Code(推荐安装 Flutter 和 Dart 插件)
  • Android SDK(Android 开发)或 Xcode(iOS 开发)

克隆项目

bash
git clone https://github.com/huangruiLearn/flutter_hrlweibo.git
cd flutter_hrlweibo

本地编译

如果遇到平台兼容性问题,可以重新生成平台配置:

bash
# 删除现有平台目录
rm -rf android ios
# 重新创建平台配置
flutter create .
# 安装依赖
flutter pub get
# 运行项目
flutter run

安装 APK

项目提供了预编译的 APK 文件,可以通过以下两种方式安装体验:

  1. 从项目目录下的 apk/app-release.apk 直接安装
  2. 通过蒲公英分发平台下载:https://www.pgyer.com/lrhP

快速开始

登录测试

启动应用后,使用以下任一测试账号登录即可体验完整功能:

  • 账号:test1 / 密码:123
  • 账号:test2 / 密码:123
  • 账号:test3 / 密码:123
  • 账号:test4 / 密码:123
  • 账号:test5 / 密码:123

模块导航

登录成功后,底部导航栏包含五个 Tab 对应五个核心模块,点击即可切换:

  1. 首页:浏览微博信息流,支持上下滑动浏览、点击查看详情
  2. 视频:浏览和播放短视频内容
  3. 发现:查看热门话题、热搜榜单等
  4. 消息:查看私信列表和聊天详情
  5. 我的:管理个人资料和设置

使用示例

学习价值

本项目非常适合以下场景的学习参考:

  • Flutter 组件综合运用:项目中使用了 Flutter 的大部分组件,是学习组件使用的绝佳实践案例
  • 复杂页面布局:信息流、聊天界面等复杂 UI 布局的实现方式
  • 网络请求与数据管理:dio 的使用方式、JSON 数据解析、状态管理
  • 路由管理:fluro 路由框架的配置与使用
  • 多媒体功能集成:视频播放、音频录制与播放的实现
  • 权限处理:运行时权限的请求与处理流程

二次开发建议

如需基于本项目进行二次开发,建议关注以下几点:

  • 替换测试后端 API 为实际业务接口
  • 根据业务需求调整各模块的页面布局和功能
  • 考虑引入状态管理方案(如 Provider、Bloc、GetX 等)来优化数据流
  • 升级 Flutter SDK 版本以获取更好的性能和新特性支持

项目链接

分享: