/Flutter_learn_demo

Flutter_learn_demo Flutter学习历程

Primary LanguageDart

打开模拟器 运行 1.cd 根目录 2.flutter run -d all 或者 flutter run => ps:flutter packages get 获取三方库
调试: r: 运行 R:重新运行 p:显示网格 大写P:显示性能 o:切换模拟器 s:保存截图 h:显示帮助信息 q:退出. 3.切换版本: flutter channels && flutter channels XXX 之后 flutter upgrade即可 git checkout xxx . 打开dubug开启真热更新 You can dump the widget hierarchy of the app (debugDumpApp) by pressing "w".
To dump the rendering tree of the app (debugDumpRenderTree), press "t".
For layers (debugDumpLayerTree), use "L"; for accessibility
(debugDumpSemantics), use "S" (for traversal order) or "U" (for inverse hit test order).
To toggle the widget inspector (WidgetsApp.showWidgetInspectorOverride), press "i".
To toggle the display of construction lines (debugPaintSizeEnabled), press "p".
To simulate different operating systems, (defaultTargetPlatform), press "o".
To display the performance overlay (WidgetsApp.showPerformanceOverlay), press "P".
To save a screenshot to flutter.png, press "s".
To repeat this help message, press "h". To detach, press "d"; to quit, press "q".
vim ~/.bash_profile source ~/.bash_profile

下载单个文件

图书推荐

京东:Flutter组件详解与实战 王浩然·著 ⭐️⭐️⭐️⭐️⭐️
张风捷特烈 的掘金课程 ⭐️⭐️⭐️⭐️⭐️
Flutter&Rust 应用开发 ⭐️⭐️⭐️⭐️⭐

开发过程中,使用到的棒棒哒の开发库

列表

基础widget

button
text
textfield
form
image
Flutter 图片加载流程
switch checkbox
card
positionwidget
stackwidget
push
push传参
ExpansionTile
custompaint
ExpansionPaneList
PhysicalModel
Overlay和Flow
虚线
Offstage和Visibility和Opacity
禁用与置灰
IntrinsicHeight 和 IntrinsicWidth
OOV三组件
切圆形图片的5个方法
Dart:var、final、const、late
late、dynamic、var
使用自定义字体 安卓去除状态栏灰层 渐变色导航栏
Chip FilterChip ChioceChip ActionChip Divider DataTable PaginatedDataTable Stepper
添加引导页面 appBar DatePicker BottomSheet Dialog Stepper 滚动监听 雨滴动画 密码输入框 faceID&TouchID 与webView交互 上拉抽屉 回调 event_bus传值 WillPopScope监听Android物理返回键

布局widget

rowwidget
columnwidget
flex expanded
wrap_flow

容器widget

Padding
constrainedbox sizedbox UnconstrainedBox
decoratedbox
transform
container

滚动widget

listview1 竖向
ListView源码分析之Viewport的作用
ListView重用机制
listview2 横向
listview3 动态数据
嵌套listview
gridview
customscrollview
NestedScrollView
scroll 👉🏻解析
scroll 滚动控制1
scroll 滚动控制2

功能Widget

Android双击物理键退出app 主体Theme学习  
模糊效果:filter_widget
轻提示
弹出框
ShaderMask
打破约束组件
保持状态
LayoutBuilder && OrientationBuilder
通知Notification
RxDart初识
Stream RxDart学习

混合开发

Flutter-PlatformView简单尝试
iOS原生中集成Flutter模块
Android原生中集成Flutter模块
flutter_boost学习视频
flutter_boost教程
flutter_boost源码浅析
深入理解Flutter Platform Channel
Flutter开发必须掌握的Channel通道以及不同的定义方式
Flutter新锐专家之路:混合开发篇
官方Demo
Flutter 混合架构方案探索

热更新方案

Flutter暂时放弃热更新的官方解释
混栈开发之Android端Flutter热更新
chimera_flutter_code_push
fair
美团外卖Flutter动态化实践:但分析美团的APP,他们使用的仍然是RN的热更新
热更新?

性能优化

生命周期
性能优化

源码解读

常用组件源码分析-继承关系相关

渲染引擎 skia impeller

flutter新引擎impller与skia的区别
引擎初始化、启动流程都做了啥?2w 字源码解析
深入理解Flutter的图形图像绘制原理——图形库skia剖析
深入解析Flutter下一代渲染引擎Impeller
Flutter 新一代图形渲染器 Impeller

杂类

dart model 方案
var、final、const、late的各自场景
个人认为: Dart基本数据类型是值传递,对象类型是指针传递 对于此, 大家众说纷纭
深入理解 Dart 空安全
通知
事件  
手势  
约束
组合Widget 示例1  
组合Widget 示例2  
Overlay 实现 Flutter 实现全局气泡  
custompaint_canvas  
progressbar  
文件操作
HttpClient
dio库
SQLite:sqflite库简单学习
json转实体类:json_serializable库学习
tabBar
tabBar1
tabBar2
tabBar3:类今日头条上方tabbar
路由管理库fluro学习
路由过渡动画
InheritedWidget和ChangeNotifier相关
Flutter 知识进阶 - 异步编程:张风捷特烈
Stream相关
Stream和Future
Flutter启动系列之Dart虚拟机启动
Future相关
Flutter Engine线程管理与Dart Isolate机制
聊一聊Flutter线程管理与Dart Isolate机制
Flutter 事件循环
Flutter异步编程之 Future/Isolate
Key
Flutter Keys:你的终极指南,让 widget 世界更快乐
Key:demo
Dart 健全的空安全
Flutter原理简解
Flutter启动系列之Dart虚拟机启动
AST树分析?
重写运算符
Flutter编译模式
Widget、Element、RenderObject三者之间的关系
理解BuildContext
Flutter启动流程分析
setState原理分析
Dart中继承、混入、实现、抽象类
内存相关
DartVM相关
restorationId 的使用
使用flutter开发鸿蒙?

state管理

Flutter State Management状态管理全面分析
Flutter Riverpod 全面深入解析,为什么官方推荐它?
riverpod学习
Flutter官方团队对getx这个插件的态度和看法???
getx学习
getx学习
scoped_model学习
redux学习
provide学习
provider学习
mobx学习
bloc模式学习
flutter_bloc学习
fish redux pdf
阿里fish redux视频
阿里fish redux初识
阿里fish redux中文介绍
fish_redux模版工具FishReduxTemplateForAS-Android Studio
fish_redux模版工具fish-redux-template-VScode
fish_redux Demo(含Tabbar、model、dio、基本传值、component、globalStore、adapter)
fish_redux Demo1(无Tabbar最简单版本)

案例

基本项目架子,基于getx、flutter2.5.0
基本项目架子,基于getx、flutter2.10.4
基本项目架子,基于riverpod、flutter3.3.4
案例0 对Widget和BoxDecoration 进行扩展 一些对现有组件的封装使用
案例1 选项卡
案例2 输入联想
案例3 图片增加
案例4 贝塞尔曲线
案例5 启动屏
案例6 类[SOUL]app一样的3D球
案例7 Draggable学习
案例8 侧滑框
案例9 Slivers全家桶学习
案例10 导航条渐隐
案例11 CanVas学习:签名板
案例12 国际化方案
案例13 动画
案例14 自定义push动画
案例15 Flare学习
案例16 自定义Dialog和基本的组件封装
案例17 UI根据角色判断(fish——redux数据流store分开,UI分开,逻辑分开)
案例18 自定义相机页面
案例19 自定义下拉框
案例20 性能优化点
案例21 全局倒计时
案例22 键盘相关:监听键盘弹出\缩回事件,点击空白缩回键盘、点击按钮弹出键盘
案例23 广告页面
案例24 保存图片新版本
案例25 自定义tarbar
案例26 PreferredSize 实现自定义tabbar
案例27 Listview 第一次加载时动画
案例28 Lottie动画 SVGAPlayer动画 手柄控制 滑动解锁 AnimatedSwitcher示例
案例29 跳转三方库导航
案例30 游戏手柄
案例31 自绘键盘1
案例32 自绘键盘2
案例34 web放大镜
案例35 退至后台锁定界面
案例36 customSingleChildLayout 示例
案例37 自定义一个controller
案例38 自定义一个provider相关
案例39 自定义一个ListVist: Scrollable 和 Viewport组件的作用