jh_flutter_demo
English | 简体中文
这是一个新的 Flutter 项目 - 实现常见的 UI 效果,封装组件和工具类。
密码:123456
代码不定期更新。
在线预览
https://iotjin.github.io/jh_flutter_demo
项目环境
- Flutter 版本 3.16.0
- Dart 版本 3.2.0
已实现的一些 UI 效果
- 常用框架搭建,常用基类实现
- 字体、颜色、尺寸、字符串等宏定义
- Dio 网络请求封装
- API 接口管理和数据管理
- 路由模块化管理
- 屏幕适配
- 暗黑模式适配
- 主题切换
- 国际化(GetX)
- Material3 适配
- 组件
- BaseAppBar、BaseTabBar、BaseRefreshView、BaseWebView
- 弹框(居中、底部、toast、dialog、自定义弹框)
- 时间、日期、单列、多列及底部单选/多选选择器
- 级联选择器(多维数组或树形结构,支持搜索)
- JhForm 表单输入(单行、多行输入样式、选择样式、设置样式、登录样式)
- JhTopTabBar(导航栏页面切换)
- 渐变色 AppBar,多行标题 AppBar
- 仿微信右上角弹出框
- 倒计时按钮
- APP 更新弹框
- 仿微信 UI 的图片/视频选择器(支持拍照和录像)
- 拍照、本地图片选择、九宫格展示、图片全屏查看
- 文本中指定文字高亮
- 空数据和网络异常
- 骨架屏
- 横向滑动菜单(与拼多多首页、淘宝我的频道效果相同)
- 轮播图(全屏、缩放)
- 抖动、缩放、平移动画
- 波浪动画
- lottie 动画
- 标签视图
- 折叠视图
- 工具类
- AES 加解密、MD5 加密、base64 编解码
- 本地数据 AES 加密存储
- 实时网络监听
- 获取设备信息、屏幕信息和刘海屏检测
- 加载图片资源、颜色设置
- 状态栏设置
- 二维码扫描和生成
- 导航路由跳转
- 监听页面出现或消失
- 时间格式转换
- 字符串处理
- 随机数
- 退出 APP/跳转应用商店
- 防抖/节流
- 跳转第三方地图 APP 导航
- UI 相关
- ListView 相关(分页上下拉刷新、分组上下拉刷新、分组吸顶)
- GridView 相关
- 图表相关(多图表动态加载、渐变折线图、混合折线柱状图)
- 角标
- AppBar 搜索和头部搜索
- 动画(标签云)
- 列表侧滑按钮
- 城市选择列表
- ListView/GridView 拖拽排序
- 富文本
- 登录/注册
- 版本新特性
- 检查更新
- 仿微信 UI(首页、通讯录、发现和个人中心等)
- AppBar 图片下拉缩放和渐变效果(微信运动排行榜、个人主页)
- 微信朋友圈和图片浏览
- 交叉滑动(个人中心效果)
注意:
jh_common
文件夹中封装了组件和工具类- 更多内容请下载项目查看
注意事项
- debug 模式下会有一些卡顿现象,属于正常现象。良好的体验需要打 release 包。iOS 可以执行命令
flutter build ios
打 release 版本。Android 可以执行命令flutter build apk
打 release 版本。 - iOS14 真机运行崩溃,可以通过
flutter run --release
在真机运行
更新记录
重要更新
* v3.16.0 - 更新 pubspec 库和 flutter 版本(Flutter 3.16.0,Dart 3.2.0)
* v3.13.0 - 更新 pubspec 库和 flutter 版本(Flutter 3.13.0,Dart 3.1.0)
* v3.10.0 - 更新 pubspec 库和 flutter 版本(Flutter 3.10.0,Dart 3.0.0)
* v3.7.0 - 更新 pubspec 库和 flutter 版本(Flutter 3.7.0,Dart 2.19.0)
* v3.3.0 - 更新 pubspec 库和 flutter 版本(Flutter 3.3.0,Dart 2.18.0),iOS 最低构建版本改为 11.0
* v3.0.0 - 更新 pubspec 库和 flutter 版本(Flutter 3.0.0,Dart 2.17.0)
* v2.10.1 - 暗黑模式适配
* v2.10.0 - 更新 pubspec 库和 flutter 版本(Flutter 2.10.0,Dart 2.16.0)
* v2.0.0 - 更新 Flutter SDK( 2.0.3 )和 pubspec 库
* v1.0.0 - 环境:Flutter 版本 1.22.3,Dart 版本 2.10.3
感谢支持
- 如果您觉得不错,或者我的开源项目对您有帮助,可以点击右上角的"Star"来支持。您的支持就是我的动力,谢谢 🙂
- 您也可以扫描下方二维码,请作者喝杯奶茶 🧋
预览
以下是一些页面效果:
微信界面:
许可证
许可证
BSD 2-Clause 许可证
版权所有 (c) 2020, iotjin
保留所有权利。
在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否修改:
1. 源代码的再分发必须保留上述版权声明、本条件列表和以下免责声明。
2. 以二进制形式再分发必须在文档和/或随分发提供的其他材料中复制上述版权声明、本条件列表和以下免责声明。
本软件由版权所有者和贡献者"按原样"提供,不作任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用、数据或利润损失;或业务中断)承担责任,无论是基于合同、严格责任还是侵权行为(包括疏忽或其他原因)的任何责任理论,即使已被告知可能发生此类损害。