|
Java视频教程名称:flutter入门到精通与项目实战教程多套合集视频教程 flutter视频教程
; v( N5 l- U! }3 M百度网盘下载链接:( m1 b( z7 ^# @% Z. N
[/hide]密码: hjg4【解压密码:f9WuSQ0OjjR2o7hO】
$ u# p9 H s- _7 y8 ` |" F集数合计:20讲& A7 e D: F2 c
$ `8 G! j, q& e( P链接失效声明:如果本链接地址失效,请及时联系站长QQ:40069106$ m8 e2 F: Y1 @* x" Q
如何获取资源:VIP升级: https://www.javazx.com/thread-10591-1-1.html4 s1 H) ^ O" p4 e* A! o
VIP说明: 月度VIP:使用期限30天
/ o/ F3 ?5 [" L# @2 U- @0 G" G5 \ 年度VIP:使用期限365天
! ` u/ M- z/ R0 B 终身VIP:使用期限永久
2 X+ r1 f6 d2 b, w' I( E6 {. ?; g3 e- W' I* A4 N% `$ j
Java视频教程详情描述: # Q% K& E9 ?+ ]/ s2 W, x4 L a$ m
A0366《flutter入门到精通与项目实战教程多套合集视频教程》包含多套flutter视频教程,带你真正的从入门走到精通,其中大多数项目都为实战教程,模拟企业级项目演习。. U! \- l. g' p( K5 t, y+ k' H
; Y- L% H: n1 A6 _" {, H, TJava视频教程目录:4 Z T% K, Q5 }5 z: ]* y; T
├─Flutter基础教程-技术胖-2019
8 `$ Y- O( ~" X: |* B# u" R│ 01认识Flutter是什么.mp4
+ d1 T0 G3 \8 W. z│ 02Flutter开发环境搭建windows版.mp4: F8 L; C1 w: f& E, t) q) c: ?
│ 03Flutter虚拟机安装.mp4" V+ e2 ?+ c8 ^/ a+ K6 Z$ X
│ 04在VSCode下编写Flutter代码.mp4
5 u% j; F( \# n- S+ V7 x8 u' }' L│ 05第一个HelloWorld程序.mp4# t( {$ c) L1 G* ~
│ 06Text Widget使用.mp4- q/ H# C( D5 f! t( _9 S) q$ x9 I
│ 07Container Widget 使用1.mp48 \, _6 A8 a* o( F, b; B
│ 08Container Widget 使用2.mp4
) @5 W d2 u0 S# W6 \( ^: B│ 09Image组件的使用.mp44 Y9 h8 Y4 T7 z y: P! H% N
│ 10ListView组件简介.mp4
! T/ `: l& F) {( w│ 11ListView横向列表的使用.mp4
( j( R" S0 S8 e│ 12ListView动态列表的使用.mp4, k) P% `! M4 u+ f! A' @
│ 13GridView网格列表的使用.mp4* v# p, J" X9 D" H
│ 14布局RowWidget的详细讲解.mp4; J y+ X3 U. {" V* F5 n- @
│ 15布局ColumnWidget垂直布局组件.mp4
7 R; n1 D; G) ^. M8 }1 b0 x% |│ 16布局StackWidget层叠布局.mp4: Y0 B1 ]' k; ]* f- k
│ 17布局PositionedWidget层叠定位组件.mp4, {/ T) M" `! D
│ 18布局CardWidget 卡片布局组件.mp4
/ J. Z4 t8 T5 `│ 19导航父子页面的跳转返回.mp4
! H0 H4 {6 ^5 s. L│ 20导航的参数传递和接受-1.mp4+ U1 \- I: G' F( D/ e8 {6 Q" l; M( @. o
│ 21导航的参数传递和接受-2.mp4
/ D+ P) H8 K( W5 m- A. z' k- l│ 22页面跳转并返回数据.mp4
4 x( l& r$ g; a! {│ 23静态资源和项目图片的处理.mp4
% }6 E/ z4 T$ e0 k( }: L5 g5 S│ 24Flutter的打包.mp4
$ j6 f" b, s. q) q1 L9 l) c│
/ F! L2 H+ O3 D% m4 ]( n+ v' G├─flutter入门到精通全套-宁浩2019
, U6 n8 L& i% p8 ^2 d3 k( r│ ├─1 Flutter 移动应用:开发准备' V7 i* O7 f5 x8 _) F
│ │ 1 介绍.mp4
- W& h* e! V3 o4 i: U│ │ 2 安装 Flutter SDK(macOS).mp4
3 I9 B8 d) K" ?2 m: [ y│ │ 3 配置 iOS 开发环境(macOS).mp4+ ~( m/ t7 U; M: A
│ │ 4 配置 VS Code 代码编辑器.mp46 w- K0 A- d. b# j" U0 H% a2 Q
│ │ 5 配置 Android 开发环境(macOS).mp4: Q, ]* e" X+ v
│ │ 6 检测问题:flutter doctor.mp4
, n- I3 w! i, e9 }2 v1 W$ b│ │ 7 Flutter 在中国地区的特别设置(macOS).mp4
; i! j& [$ Q W7 `) `│ │ 8 创建 Flutter 项目.mp4
1 I2 \/ Q& Z4 K7 X' x│ │ 9 运行 Flutter 项目(iOS 模拟器).mp4
: D4 y5 R3 d# }- _8 O3 \│ │ 10 在 Android 模拟器上运行 Flutter 项目.mp4$ q5 ]: n: k( G. ]$ w5 E
│ │
/ w0 b, z) K5 q, j7 j0 t│ ├─2 Flutter移动应用:快速起步
! P4 I! W, x, j/ D│ │ 1 介绍.mp45 w4 L' ?0 i1 }% l
│ │ 2 准备项目.mp4
& N) t$ {4 j3 U( l$ f2 \│ │ 3 在屏幕中间显示 “hello”.mp4+ q3 @( b+ `' W6 c6 H9 X# |& W
│ │ 4 自定义小部件(Widget).mp4" r3 Q% j# o6 H! c4 n% ]
│ │ 5 文字的样式:TextStyle.mp4
0 U9 a( q" I1 O+ a; D) I│ │ 6 MaterialApp:使用界面组件与定制界面主题.mp4
, P9 B1 W7 }6 m( [' I* B) M│ │ 7 列表:准备数据.mp4
* q% ?- w, M3 i/ |│ │ 8 列表视图:ListView.builder.mp4
& I# [& _+ O/ |9 I5 ?- A3 `│ │ 9 列表项目.mp43 H. N5 \0 d& q0 I
│ │ ' f- G6 W# W) Y i
0 r5 o2 E ?8 J# ^1 M│ ├─3 Flutter 移动应用:界面结构
. _7 o6 N0 J3 c2 O+ g1 h* i│ │ 1 介绍.mp4) P1 R) y5 m4 g6 r" Q9 a
│ │ 2 准备项目.mp46 s& F8 x- ] c+ z o5 @9 i# @
│ │ 3 Material 应用.mp47 K3 O6 f( m1 ?, d9 N7 U; P
│ │ 4 AppBar:工具栏上的图标按钮(IconButton).mp49 q' U) ^6 O2 W# n- }5 u+ w
│ │ 5 TabBar:用标签形式展示内容.mp4: Y7 x( S1 B* |: d
│ │ 6 TabBar:自定义标签栏的样式.mp4, E4 d& V' J+ p( \1 q. Q
│ │ 7 Material:自定义按钮水波纹样式.mp4! a& |3 ]( p# \/ b% g/ A
│ │ 8 Drawer:抽屉(边栏).mp4+ t# X% I: I0 Y$ t
│ │ 9 Drawer:在抽屉里使用 ListView, DrawerHeader,ListTile.mp4
U% W7 Q. _* q# N. ~' C2 I│ │ 10 Drawer:抽屉的打开与关闭.mp4
& O( g7 s1 b, y% i│ │ 11 UserAccountDrawerHeader:抽屉里的用户帐号信息.mp4
1 }$ {0 K* a# S# Z│ │ 12 用户帐户头部的背景图像.mp48 w4 k9 d& s1 r% a1 q$ ~7 _0 L
│ │ 13 创建 DrawerDemo 小部件.mp4* a* j- W% `" Z$ t) ?# L3 B6 g* Y
│ │ 14 BottomNavi
$ {) p6 \, h3 y$ w1 K- }│ │ 15 BottomNavi5 `9 v/ |$ f: q/ ?
│ │ 16 StatefulWidget:有状态的小部件.mp4
- C9 ?: C3 r; b& B& l3 d9 q│ │ 9 k3 K# E6 s1 \! \, }/ Y9 O
│ ├─4 Flutter 移动应用:基础部件
' n! T4 Y, t3 j [; G0 @7 }│ │ 1 介绍.mp41 {7 S; r- Y: y2 `3 K
│ │ 2 准备项目.mp4
* w$ ^! c: d% T6 }: \│ │ 3 查看小部件的定义.mp4% _" U- y$ m, d0 s5 R
│ │ 4 Text:文字与文字样式.mp4
. j; O# Z: V+ s+ P+ b│ │ 5 RichText:行内多样式的文字.mp49 I, @/ Z5 ^( W7 ?
│ │ 6 Container:容器.mp44 [7 ]6 ]& ~+ S* Q9 F% v/ [# I* |* ?
│ │ 7 BoxDecoration:装饰盒子.mp4
' Q; a7 f, {+ J7 ~/ |0 w8 ]6 d│ │ 8 BoxDecoration:边框(border).mp4
; S. M8 x* L1 F, p4 ^8 n. U│ │ 9 BoxDecoration:圆角(borderRadius).mp4
, T" j2 ]6 I! E# L# n│ │ 10 BoxDecoration:阴影(borderShadow).mp42 V- ^* l' U1 B* M6 N# E
│ │ 11 BoxDecoration:形状(shape).mp4$ Y4 h' Q$ d5 c
│ │ 12 BoxDecoration:渐变(gradient).mp4& y8 ^+ |# c# X$ P( G
│ │ 13 BoxDecoration:背景图像(image).mp4
$ `" y7 v; W3 S" W5 T3 O' O│ │ / H+ l% l: d6 g1 U$ X, X. J6 i
│ ├─5 Flutter移动应用:布局2 ~$ u3 | }9 B; q. E* A+ q& e
│ │ 1 介绍.mp4" {# Y) D9 Z/ Y; s# V( {/ K
│ │ 2 准备项目.mp4
; U, u0 G& @/ R7 z1 P│ │ 3 创建 LayoutDemo 小部件.mp4
# W/ Y* u) n( I* i* I$ E* c│ │ 4 创建可配置的图标徽章(IconBadge)小部件.mp43 W5 Z% M% w1 w1 O8 U
│ │ 5 Row(横排) 与 Column(竖排).mp44 }" l' E( Y, A; o; ^# A
│ │ 6 mainAxis:主轴.mp4
z. q P* X) A/ C7 b5 P+ h│ │ 7 crossAxis:交叉轴.mp4
0 `% Q* q3 P7 y/ q6 |" k# f│ │ 8 SizedBox:固定尺寸的盒子.mp43 P; B+ D! V. f( z4 _, H
│ │ 9 Alignment:对齐.mp4" A) A" C. [# ]/ i1 R4 Q
│ │ 10 Stack:一摞小部件.mp4- _1 {+ i! `. Z$ C" i; X R
│ │ 11 AspectRatio:宽高比.mp4
3 ~8 x0 c# X! r│ │ 12 ConstrainedBox:带限制的盒子.mp4
1 E& j- R2 e4 d" W9 ]% k│ │
; t. W" y/ z* R: B8 f7 X( a6 U! ]│ ├─6 Flutter 移动应用:视图
1 q N1 q# |' c# P│ │ 1 介绍.mp4
$ v7 d$ n4 E5 ~! ^4 H7 x1 ?* P│ │ 2 升级 Flutter SDK 与项目用的 Packages.mp47 m2 n( n d# X$ h( N3 ~7 U% G
│ │ 3 准备项目.mp4
7 I0 L8 w7 Q& M: m│ │ 4 创建 ViewDemo 小部件.mp4& R r% h {6 X! c' q
│ │ 5 PageView:页面视图.mp46 w# C' X+ [( w+ v
│ │ 6 PageView:页面视图的属性.mp44 u5 s. m7 r8 h
│ │ 7 PageView:用 PageController 调整页面的显示.mp4
( I& i. s* X* A) x/ }│ │ 8 PageView.builder 按需生成页面.mp4/ R# k3 h% s: b
│ │ 9 GridView:网格视图(GridView.count).mp44 e( ]7 ~5 y$ M. ^
│ │ 10 GridView.extent.mp4
0 s8 \# l3 c+ S% N! h│ │ 11 GridView.builder 按需生成视图项目.mp4
! Z+ J4 W7 i/ {" T) h: f; g│ │
* m& f, b( Y- Z5 u( d│ ├─7 Flutter 移动应用:Sliver" Z; H$ \* C( r* U- e1 v+ U0 f
│ │ 1 介绍.mp4
6 I: j+ _7 M4 `% S│ │ 2 准备项目.mp4* D* d! X2 F1 |6 t
│ │ 3 创建 SliverDemo 小部件.mp4
% I$ B9 I8 F L. F; g, C1 H│ │ 4 Slivers.mp4
6 N- k6 ^; W# _, x│ │ 5 SliverGrid:网格视图.mp49 D2 U5 v/ w% p! l
│ │ 6 SliverPadding(内边距) 与 SliverSafeArea(安全区).mp4
/ ^% `: ?) Z) B7 K& F8 Y│ │ 7 SliverList:列表视图.mp4+ Y" f: C3 u& [- w/ ^* a) g4 ]
│ │ 8 SliverAppBar:应用工具栏.mp4$ r! v1 e; U( Z7 i7 ^
│ │ 9 带渐近动画的可伸缩空间.mp4
6 R: ?' n, T1 K( J( @│ │
" V7 }! n& b# }; Y& b( h" L. e" l, `│ ├─8 Flutter移动应用:路由
: R' r) H" Q4 p7 b4 C7 @│ │ 1 介绍.mp4) b0 H; I. q4 E) {. ]6 r
│ │ 2 准备项目.mp4
0 s9 E. h- g( B8 d5 [- j- ^- w│ │ 3 VS Code:Flutter 代码片断.mp4
$ Y3 K- y. T* G& R% K│ │ 4 一堆路由.mp4 Q% u4 s$ Z4 l H2 B
│ │ 5 打开新页面并返回(push 与 pop):准备.mp46 R0 F. {0 m/ j
│ │ 6 打开新页面并返回(push 与 pop):实施.mp4; P% P, ]" l9 M2 q! P* w
│ │ 7 带名字的路由( Navi1 W) u! ~" ^ h/ v
│ │ 8 初始路由:initialRoute.mp4
$ O5 w4 {$ b6 t│ │ 9 InkWell:添加溅墨动画效果.mp4( j# B6 S" W% N3 Z5 W1 q! l* n: [! o
│ │ 10 在内容详情页上显示内容.mp4! f) h \5 l B) e0 Q, E
│ │
( Y6 d6 g; v k│ ├─9 Flutter 移动应用:表单
% o& L- f6 A: O1 L y8 J) ~│ │ 1 介绍.mp4, U- a' q. [* V( h; @& v& B" V
│ │ 2 准备项目.mp4: ?5 L% v9 k! R6 y& U- q2 O' P J
│ │ 3 创建 FormDemo 小部件.mp4& H6 G n3 S: o9 G% ?9 L
│ │ 4 Theme:定制、使用、重置、覆盖主题.mp4
9 \6 O& g! l( I. U: ]│ │ 5 TextField:文本字段.mp4
- Q& t3 F+ i. i1 l. x# e* u│ │ 6 TextField:文本字段样式(InputDecoration).mp4% O4 V$ v C: \; ~
│ │ 7 TextField:监视文本字段的值的变化与提交.mp4/ F" N0 w) s" k
│ │ 8 TextField:使用 TextEditingController 监听文本字段变化.mp4
; z% P! A7 h$ h& C+ ?│ │ 9 Form:表单.mp44 v3 s2 `* z" r' _3 n7 \+ @! E
│ │ 10 Form:保存与获取表单里的数据.mp4- ]. ]6 A4 H- D8 z
│ │ 11 Form:验证表单里的数据.mp4
! M7 X" B6 P2 a# G, x& m, W│ │ 12 Form:自动验证.mp4
' D( K. j7 x2 t" x/ @- f│ │ 13 SnackBar:在屏幕底部动画弹出提示栏.mp4* L, w* a9 o) D; W
│ │ ) Q2 ] E+ Z7 G! s
│ │
& I% o" x+ M1 T1 k│ ├─10 Flutter移动应用:按钮. l8 x7 F4 Y l2 h' X4 C
│ │ 1 介绍.mp4
. [. ?. f' s5 A2 c H6 R│ │ 2 准备项目.mp4+ K8 c% o' B; p! d8 M
│ │ 3 VS Code:自定义代码片断.mp4! N- F# J9 Z1 [6 L* N# V
│ │ 4 准备 Material Components 演示页面.mp4
/ k+ N: [) G& W9 n/ U5 X│ │ 5 FloatingActionButton:漂浮动作按钮.mp47 j8 m+ c7 K% D8 R* Z! }; O" U1 U
│ │ 6 BottomAppBar:底部工具栏.mp4( O% ~7 n0 p5 m; W) h
│ │ 7 创建演示小部件用的页面.mp4
, V% _, T2 }, e( }& o% r│ │ 8 FlatButton:文字按钮.mp49 P7 P" o. i) E% d8 ^6 q' H7 _
│ │ 9 RaisedButton:按钮.mp4
% G3 Z; R' ^+ I1 @6 H3 J! s│ │ 10 按钮主题:颜色、形状.mp42 p. k3 l, S, T" Z( O% T2 M+ Z! B
│ │ 11 OutlineButton:描边按钮.mp4
$ R1 H) p$ D; }6 r, ^/ N: P l$ x│ │ 12 按钮容器 Container:有固定宽度的按钮.mp4
: G/ Q3 n( x/ Q' O. b \│ │ 13 按钮容器 Expanded:占满可用宽度的按钮.mp4
C' [, H# o7 d& i6 l│ │ 14 按钮容器 ButtonBar:一组带边距的横排显示按钮.mp4/ s- y: F Y( U7 w2 u b
│ │ 15 整理:把演示放在单独的文件里.mp4
' H( A1 j' J1 X2 P% V* k. ]2 T│ │ 16 准备 PopupMenuButtonDemo.mp4& W+ _. ]8 v3 w1 M4 j+ E! a
│ │ 17 PopupMenuButton:弹出式菜单按钮.mp4; W( w0 r0 t; G
│ │ ( n$ C7 _+ Z- O0 H
│ ├─11 Flutter 移动应用:输入
5 U) r" n+ q% Y, B' C. R│ │ 1 介绍.mp4
$ o- ?! y7 z1 O: h% L! J0 s│ │ 2 整理:在演示列表里添加 FormDemo.mp4$ `( c. p3 L8 {
│ │ 3 创建用户输入相关的小部件的演示页面.mp4
6 o7 P8 I8 m) G/ L' z: n8 }│ │ 4 Checkbox:复选框.mp4
2 B% ] T; ?0 J1 U: P5 i│ │ 5 CheckboxListTile:带标签与图标的复选框.mp48 P/ @9 n7 ^ S1 D
│ │ 6 Radio:单选按钮.mp4+ A, |5 E$ Q2 [" [9 S1 S0 a
│ │ 7 RadioListTile:带标签与图标的单选按钮.mp4
7 ~* n. @: R' ~8 X: }│ │ 8 Switch:开关.mp4
. A3 ~! J/ q" n3 \1 x│ │ 9 SwitchListTile:带标签与图标的开关.mp4
' D( j$ w6 W: W3 c3 c7 W│ │ 10 Slider:滑动选择器.mp4 b/ L) g: P) L( t& Y; w$ K) P8 D
│ │ 11 安装第三方包(演示安装 Intl 包).mp45 B& j3 u' t) B" @/ j/ l: R! Q
│ │ 12 显示格式化日期.mp46 b1 y% a" e! `2 D5 p- a
│ │ 13 showDatePicker:选择日期.mp4! X$ X8 d/ Z/ \ L/ s
│ │ 14 showDatePicker:获取选择的日期(async).mp49 P1 I0 _( s7 M) {2 r" h7 R/ q
│ │ 15 showTimePicker:时间选择器.mp4
' d' [: `$ `: [5 y│ │ 16 Future:异步程序.mp4
K& L3 B5 B9 B│ │
6 }+ M0 ^ Z* i" v│ ├─12 Flutter 移动应用:对话框
( i2 _+ F6 t2 |6 \ V/ B│ │ 1 SimpleDialog:显示对话框(showDialog).mp4
" | V9 x# C P│ │ 2 SimpleDialog:选项(SimpleDialogOption).mp4
% S# k$ E2 G: H% X# p│ │ 3 SimpleDialog:获取与使用选项的值.mp4
% e ?, {! a* d5 r' K q, F│ │ 4 AlertDialog:提示对话框.mp4( z' [1 f3 t3 w$ E/ l v
│ │ 5 AlertDialog:获取与使用动作的值.mp44 W2 M4 `! i- V, h8 V" P$ J
│ │ 6 BottomSheet:底部滑动窗口.mp4* ], C- i8 l" Y4 x* x
│ │ 7 BottomSheet:对话框式底部滑动窗口(showModalBottomSheet).mp4
- R2 t* t- l7 i6 {6 c9 G5 A│ │ 8 处理使用对话框式底部滑动窗口的数据.mp4 \ S+ s8 f1 M1 h- a% S1 [/ S2 |; v
│ │ 9 SnackBar:操作提示栏.mp46 v5 r2 ?7 g- w
│ │ 10 ExpansionPanel:收缩面板.mp4
7 I' U4 A- s- `! Z3 x│ │ 11 ExpansionPanel:面板的收起与展开.mp4
8 O* k+ K9 ]0 m8 q' [; Q2 j│ │ 12 ExpansionPanel:面板列表项目.mp4
5 y) u" x1 l0 i) T8 Z│ │ ' }% N! I5 m$ O T6 U
│ ├─13 Flutter移动应用:MDC: ?: c6 z% M* ?
│ │ 1 介绍.mp42 @! @7 ~: o7 D3 Z6 m+ s, |$ M5 j
│ │ 2 升级 Flutter SDK 后屏幕报错(0.8.1).mp4
/ G i" ~1 A* h0 C# |│ │ 3 Chip:小碎片.mp4
9 p4 H' e) E4 j: x, `│ │ 4 Wrap:换行显示小部件.mp49 W- @8 w, K" d I" w# k8 Z$ @" x
│ │ 5 Divider:分隔符.mp4. D7 I( T Y5 G
│ │ 6 Chip:带删除功能的小碎片.mp4
* P# h7 ]9 L& Z8 c! J. Z& f/ R│ │ 7 Chip:用列表生成带删除功能的小碎片.mp4- O- [# W, [; {- N/ U/ o% O- L
│ │ 8 ActionChip:动作碎片.mp4
) `1 V H6 R. V$ m/ e0 f$ Y5 @9 h│ │ 9 FilterChip:过滤碎片.mp4& s5 f5 O ]# o1 o& W
│ │ 10 ChoiceChip:选择碎片.mp4 h2 Z! w$ {( Y" M$ }; }! t
│ │ 11 DataTable:数据表格.mp4/ A$ R# x6 }1 J0 r: F
│ │ 12 DataTable:用列表生成数据表格.mp4- k$ r- y* v" Z# M8 e6 c
│ │ 13 DataTable:数据表格的排序.mp4
' f. I6 g8 z/ x│ │ 14 DataTable:选择数据表格行.mp4- w1 T5 O6 l* ~% |
│ │ 15 PaginatedDataTable:分页显示表格数据.mp4
, U/ L+ |) w2 a' a│ │ 16 PaginatedDataTable:排序.mp4! V, c# c. c( r, C# V) X
│ │ 17 Card:卡片.mp46 x+ {1 b! N" y1 f- Q) z3 C* L
│ │ 18 ClipRRect:圆角(给图像添加圆角效果).mp4
; ]. g+ y! e! S│ │ 19 Stepper:步骤.mp4% b0 w3 \) P3 o1 p1 I) {
│ │ 20 Stepper:步骤的行为.mp4
' j' G+ K8 a+ x0 G, _│ │ 4 v& {) H+ t! ~) z, E
│ ├─14 Flutter 移动应用:状态管理
8 W& B& L* J' J7 a0 f│ │ 1 介绍.mp4. `4 y* r; h3 |: p4 d
│ │ 2 准备项目.mp4* W3 S5 {% Y7 x+ f2 }& i
│ │ 3 创建 StateManagementDemo 小部件.mp4
8 W; @# ]! z' b│ │ 4 StatelessWidget:无变化状态的小部件.mp4
) B3 a& P% f, w" ^$ R |, v│ │ 5 StatefulWidget:带变化状态的小部件.mp4* s8 f3 B: U/ g" E
│ │ 6 状态管理(由父辈管理状态).mp4
; r/ C! ~* P9 H- {4 X2 R│ │ 7 从父辈那里传递个回调.mp47 M' U* d$ k% I7 ? c- a
│ │ 8 小部件树:Widget Tree.mp49 W9 ?, M# Q- H9 U( A7 g
│ │ 9 InheritedWidget:直接把数据传递给需要的小部件.mp4
; ^" R; P2 D; f) g5 A& c│ │ 10 创建与使用 InheritedWidget 有效地传递数据给子部件.mp4
& d1 O- j8 z; D6 T- `# F│ │ 11 ScopedModel:安装与基本用法介绍.mp4; L) V$ U) Y# B; F8 ?2 m/ z
│ │ 12 使用 ScopedModel 传递数据.mp4
# `, m8 h4 q5 o: I; d' i│ │ 8 r. ]2 f7 P, F. ]* y
│ ├─15 Flutter 移动应用:Stream
. I7 y5 I9 c$ Z7 x$ Y( z│ │ 1 介绍.mp45 s- e3 x/ a% k4 N( g
│ │ 2 准备项目.mp4
5 @2 a9 k) R, y$ l# @& U2 z6 x│ │ 3 创建 StreamDemo.mp4& O: t% e/ O' t& @- L1 z+ V; D
│ │ 4 创建与监听 Stream.mp4) x Z X# W$ }- T+ ]: Y( j
│ │ 5 给 Stream 添加一个订阅(subscription).mp4
! S' [+ a% D6 |- ]+ M│ │ 6 暂停、恢复、取消监听 Stream.mp4
9 ` G2 F1 k2 |8 c$ F/ v│ │ 7 StreamController:控制 Stream.mp4" P1 e x: Q) O$ u9 J
│ │ 8 StreamController:使用 Sink 往 Stream 上添加数据.mp4
2 I, s3 h" i3 \! r: i4 {│ │ 9 StreamController:创建可以多次订阅的 Broadcast Streams.mp4
- @* W' q) r* E, F' h/ H│ │ 10 在界面上显示 Stream 上的数据.mp4' e5 ]0 R' \% ]& E0 E( H" ^
│ │ 11 StreamBuilder:根据 Stream 上的数据构建小部件.mp40 Z( ?+ V4 U0 Z& v5 }* p
│ │
4 D( D6 p* d1 f│ ├─16 Flutter 移动应用:RxDart$ j; E6 e4 o! n* Q* o
│ │ 1 介绍.mp4
& A4 d s4 J0 _6 a6 s2 |: G│ │ 2 准备项目.mp4: G2 @+ i8 g! l7 O8 a. |- Z
│ │ 3 创建 RxDartDemo.mp4* L0 z; O+ p, T+ f
│ │ 4 安装 RxDart 包.mp4
0 l5 l7 p/ X$ b│ │ 5 Rx,RxDart,Observable 与 Stream.mp4 P( ?4 {9 h# m* @) H4 o2 T
│ │ 6 Observables.mp4. e- E" d6 |+ h# {
│ │ 7 创建 Observables 的几种方法.mp4
) r: l, i3 n3 c7 n" G; w# |│ │ 8 使用 Subjects 控制 Observables.mp4
- Z7 ?" P' P a0 F│ │ 9 Behavi9 \. ]* t8 a$ ^/ D
│ │ 10 ReplaySubject.mp4
9 w7 R8 ^- q" x% X! y2 t! a│ │ 11 准备一个文本框往 Observable 上添加数据.mp4. F$ X$ W0 ^. e: B7 G8 [( d. y
│ │ 12 RxDart 的数据转换方法(map).mp4- X+ }/ S/ n, x2 o, X5 n
│ │ 13 where.mp47 J3 X* V+ t* _/ [2 L5 H/ Y! }
│ │ 14 debounce.mp4
# t8 B2 k ~& A+ X2 |7 X' V│ │ 7 y g, a! @% c( P$ y! G$ k2 y
│ ├─17 Flutter 移动应用:BLoC
8 n7 Y/ Q2 s7 _9 {# v: J* c/ e│ │ 1 介绍.mp4" a3 M1 z" t/ s2 D% b
│ │ 2 准备项目.mp4
1 s+ g( m8 W9 A│ │ 3 创建 BlocDemo.mp4
" b, f4 D4 u) F8 j( M% s│ │ 4 BLoC:Business Logic Component.mp40 c* c# X$ k# f6 Z6 m2 f4 p v. X
│ │ 5 BLoC 应用案例(记数器):准备基本小部件.mp4
6 V ]6 W2 k" s! A, J7 O, |3 X│ │ 6 使用 InheritedWidget 传递 BLoC.mp4
: H/ t& m( l" X, |8 c; \7 s z/ q│ │ 7 创建与使用 BLoC:用 Sink 输入数据.mp4* K& A. M8 {3 i, x4 Y' w
│ │ 8 创建与使用 BLoC:用 Stream 输出数据.mp4! Z! ^9 f- |1 Y, I. q
│ │ + M, K# J! }1 g. k7 O( v
│ ├─18 Flutter 移动应用:网络请求
* B/ o( I d/ w│ │ 1 介绍.mp47 Q" C2 }$ q7 i& ~ k
│ │ 2 准备项目.mp4" ?% A/ V1 f' Z! H: U
│ │ 3 创建 HttpDemo.mp4) m' i. q/ @' E: J |
│ │ 4 安装 http 包(升级 Flutter SDK).mp4
* N* c5 m ^7 ~' K& ~; v1 S│ │ 5 使用 http 客户端请求数据.mp48 e ^0 a' N7 \0 [9 ?$ Y% J! B
│ │ 6 JSON 转换(dartconvert).mp4
+ S8 r* z. p- @0 t1 O2 v│ │ 7 使用 Model 类转换数据:fromJson.mp49 O) B; c; @1 f- Y$ w
│ │ 8 使用 Model 类转换数据:toJson.mp4
- L9 u) G8 j9 X% R7 O! L5 m5 m│ │ 9 使用请求数据:把响应的数据转换成自定义 Dart 对象.mp4
* j( e* C* D- w0 h$ r) s│ │ 10 FutureBuilder:使用 Future 构建小部件.mp4
( F* W3 d n/ s$ S& Z6 h9 `% K│ │
' d* m' ~- }$ \, P4 @( g2 `│ ├─19 Flutter 移动应用:动画, K' n! }2 t' }6 \+ `# W- I
│ │ 1 介绍.mp4
7 U. ?' F' [# P+ y3 w│ │ 2 准备项目.mp4
$ B; Q: n, ?8 u: E│ │ 3 创建 AnimationDemo 小部件.mp4
5 U3 C! e7 ?2 c+ I3 ~) V' a│ │ 4 AnimationController:动画控制器.mp4
7 f" t1 _9 F3 F+ H! V4 m│ │ 5 使用动画的值.mp4
8 h) l& _" t0 m1 y: i/ H7 L│ │ 6 动画的状态与运行.mp42 v. ~0 r1 I9 x4 h
│ │ 7 Tween:设置动画范围值(数字、颜色).mp4! T* Q; U5 y7 [6 }1 G7 x y4 [
│ │ 8 Curve:动画曲线.mp4
$ @2 I C t+ c│ │ 9 AnimatedWidget:动画值有变化就自动重建自己的小部件.mp43 z X7 {, d, G. s$ n# H
│ │
5 O5 R( Z9 F! R8 a. K7 ~# c: T) e│ ├─20 Flutter移动应用:国际化8 l8 }% {4 I/ }1 S+ j
│ │ 1 介绍.mp4
4 x6 m! y+ H/ A! F│ │ 2 准备项目.mp4
( `' k0 D' S$ ?0 e# M! E7 n│ │ 3 创建 I18Demo 小部件.mp4
" x9 [5 B* T+ ^& a% c& s! r│ │ 4 安装与配置 Flutter 应用的国际化.mp4
$ A+ t b, V! A' ~4 ~2 \4 ?│ │ 5 配置 iOS 项目使用多种语言.mp4
/ h) z- m4 n( ~; R│ │ 6 演示 Material 组件的多语言.mp4& k0 u1 O# z+ D6 B$ C2 e
│ │ 7 寻找 Localizations 小部件.mp4
( T$ C1 d2 v8 N4 Y│ │ 8 获取与设置语言和地区(理解 Locale 类与 Localizations 小部件).mp4& H# @! i5 U& u$ z# [% n7 T
│ │ 9 定义本地化资源类.mp4) R. M6 K9 e( r' h6 w% C N$ u
│ │ 10 加载本地化资源.mp4
& S0 d. L5 m4 b! u9 w/ f; h│ │ 11 使用本地化资源.mp4
' l# {: H6 F! n$ y% s! ]│ │ 12 Intl:定义需要翻译的信息.mp43 A% R& c3 T- X% p _! m4 W
│ │ 13 提取信息模板并翻译信息.mp4+ \4 M- g6 y+ S& S8 g9 \. A
│ │ 14 基于arb 生成 dart 文件.mp4
$ r" x* B) P3 D3 N- r8 U5 ^- ?│ │ 15 加载与使用本地化信息.mp4+ I2 r% B0 e+ p! P6 P7 @
│ └─源码+ F3 M9 S' E* ^! F4 \( J9 h
│ ninghao_flutter-master.zip* _4 i: {6 k- v1 d
│ # o6 i6 L0 \5 I
├─Flutter小实战-技术胖2019* a( @5 r& W7 V% G# O
│ │ 01节底部导航栏和切换效果的制作-1.mp4+ g, r) N( K g
│ │ 02节底部导航栏和切换效果的制作-2.mp48 K: d/ z9 F! {+ ?: R/ `) j
│ │ 03节不规则底部工具栏的制作-1.mp43 r4 L* X$ g$ h b) \4 u. R4 x7 w
│ │ 04节不规则底部工具栏的制作-2.mp40 f$ U& x" H/ m; J! T8 M
│ │ 05节路由跳转的动画效果1.mp49 W- M) c, e3 g" z( n8 X9 `2 ]
│ │ 06节路由跳转的动画效果2.mp4
6 o* G" x2 ]5 u/ q- `) @+ l│ │ 07节磨砂玻璃的效果制作.mp4
- W1 F* N4 d$ r│ │ 08节保持页面状态-1.mp4
, P1 L4 `$ [4 i) |│ │ 09节保持页面状态-2.mp4
3 m ?* t! o) }│ │ 10节不简单的搜索条-1.mp4" S4 G, n! ]% M- {2 q
│ │ 11节不简单的搜索条-2.mp45 _4 |( v( b1 ^1 B* j% @! F0 s
│ │ 12节Wrap流式布局.mp4
. Z3 s, i8 ^% K: T│ │ 13节展开闭合案例ExpansionTile控件.mp45 h# j9 t- q' P2 \1 Y4 j: _5 B# Y4 @
│ │ 14节展开闭合列表案例ExpansionPanelList控件.mp4
. [. R6 Z6 h4 A5 a. I│ │ 15节路径裁切和二次贝塞尔曲线的讲解.mp4
; n; c+ @# ~( C3 [$ p│ │ 16节路径裁切浪型贝塞尔曲线绘制.mp4
1 P" X, e/ k+ u. e. |2 r│ │ 17节APP闪屏动画制作.mp4
, o5 I& M F# q& o│ │ 18节右滑返回上一页效果制作.mp4! ~$ k* {! @ e& L. L
│ │ 19节轻量级提示操作ToolTip.mp4
% Q! g- U/ i q; u5 S- V│ │ 20节Draggable拖拽控件讲解和实例演示.mp4
- ^( @; J9 Q3 m$ \│ │
: u# @5 F! W) k: c6 h3 } n3 [│ └─图片! u+ v" o( u2 d1 x
│ FlutterDemo01.gif
, e' C% e# Y( y& i( W% [│ FlutterDemo02.gif! M2 f1 \1 f7 W$ x9 s' w' o
│ FlutterDemo13.png' p* ] V$ n5 M& Y* Y4 E2 O6 }
│ FlutterDemo14.png
0 E" ?; q( U$ V% G1 F5 D7 ]│ 7 v _4 q% \* c6 n( P# K; C0 t. h
├─Flutter跨平台开发- e9 G' _9 }0 h1 c
│ │ 01在Windows上搭建Flutter开发环境.pdf5 S# S' r" ^4 c- R! ?
│ │ 02配置编辑器.pdf
" J N% ~ U8 m% H: I│ │ 03 Flutter 从我们的模板创建一个新的Flutter应用程序.pdf( u! d, p0 ^" U* Z# {. |* k
│ │ 04编写您的第一个 Flutter App.pdf
1 Z5 H1 I% n! i' q7 U# Q. d│ │ 05 Flutter中构建布局.pdf- {& N1 o" g& Z4 r* k; y% q) A
│ │ 06 Flutter Widget框架.pdf
" V# w4 {' P- f( Q. o5 E│ │ 07 设计基础之主题共享颜色和字体样式.pdf0 _2 _7 n- w( y) |8 a
│ │ 08 显示网上的图片.pdf
+ k& m0 |7 B/ O│ │ 09 List集合.pdf
1 r0 M4 F# f1 S) C7 G: p- e│ │ 10 List处理点击和手势.pdf9 f6 e. y# `! N' u) U# b! d2 p" j
│ │ 11 实例程序之AppBar.pdf
. x5 E. X$ J2 X1 a2 Q& Y) P│ │ 12 示例程序之选项卡式的AppBar.pdf
& `. L' Q% N5 u% y! j1 ? ^) P│ │ 13 如何学习 Flutter 编译Android项目.pdf( K7 M7 B6 D" G
│ │ 14 Flutter之资源加载.pdf: k; x {/ O" ]* z
│ │ 15 使用Flutter IDE.pdf2 R/ s4 T9 h1 j* o, Y9 ~+ }
│ │ 16 Flutter之使用热重载.pdf y4 x* @. D, q' m0 x/ V0 N
│ │ 17 Flutter之调试 Flutter App.pdf
h2 ]% r3 p% K8 R c│ │ 18 Flutter 之发布Android版APP.pdf
" @9 B2 R4 D7 ~: P$ G8 E& _; p5 ]│ │ 19 Flutter之发布的IOS版APP.pdf
7 f" e/ N" A E- z; o* [/ O│ │ 1 c) N! W0 Q# L
│ └─07基础组件
, t( A2 t# m3 @) k│ 01 Container容器类组件.pdf9 O2 Q; f Q8 Z1 ^
│ 02空间容器类组件.pdf
3 G9 E4 ?3 [$ ]3 E/ P│ 03垂直方向上排列子widget的列表.pdf( s4 ]# ~7 }8 T0 D* `, [' M
│ 04显示图片的widget.pdf
4 q* D) E# Q3 V/ }! b│ 05 单一格式的文本Text.pdf
& L* a( W; Q# d│ 06 A Material Design 图标..pdf
! [: u" j! |! r/ _│ 07 Material Design中的button.pdf
4 Y/ r! ?1 v3 u│ 08 用于显示drawer、snackbar控件的 Scaffold类.pdf# ^* Q, U9 z$ c2 R# ?. s
│ 09 FlutterLogo 图标类.pdf
& x# G n1 V; m! i0 E: ~( f│ 10 Appbar状态栏.pdf; }9 ~, k! g7 q. Z4 E) x8 S; N; {
│ 11 Form表单输入控件.pdf
2 k2 {8 U6 G9 H& G│ 12 ListView滚动列表、.pdf# p6 z' e+ p$ J
│
4 y$ I/ ]2 p2 A3 G, x: ~& `├─Flutter高仿谷歌翻译项目课程% M6 S' x7 L# h! q) s8 q
│ 01 软件开启动画效果制作.mp4
% A; o% Y$ H% f* [6 _│ 02 左上角收缩栏制作.mp4
1 |( ]! O$ F8 t$ a: b│ 03 Drawer图标美化并完整.mp4* z; L- _: ^8 [) i" Y" |2 d
│ 04 英语和中文转换器界面行.mp4
( y8 Y# r3 Z9 f0 E6 k+ _│ 05 翻译内容编辑框设计.mp4
: V' t) C% t9 Z+ Q2 w1 L3 }' h0 ~│ 06 工具栏Icon布局设计.mp4
7 m% @, F2 S/ D( u* L. j│ 07 工具栏图标完善及小细节.mp4
1 L/ u! L5 J" \* M- b│ 08 翻译记录列表设计锥形.mp4
2 W1 p6 {6 |* Z. W2 N* Q" a: i│ 09 翻译记录完整列表编写.mp4
' h9 p5 O4 p m/ d k! _│
& p1 a7 v U/ W- c6 k% q3 ?├─两小时掌握Flutter移动App开发视频-黑马20198 c0 R" b) c" V1 x
│ 01.配置Flutter环境.mp48 j! ~+ Y+ j. y/ \9 J# |
│ 02.初步运行Flutter项目.mp4* L3 n. I- y' {0 R' \8 V, @0 h
│ 03.绘制导航条区域.mp4
( O- p, ~ h# B│ 04.绘制用户头像区域.mp4) e3 p% ~; ~! l, x2 A* Y+ S$ T
│ 05.完成侧边栏的绘制.mp4
3 @9 w; q" p1 |) h│ 06.渲染底部的TabBar效果.avi6 a: D& w$ T- M- D
│ 07.定义电影列表控件并传递电影类型.avi6 l3 N9 t" r6 l6 \( S+ v
│ 08.使用dio获取电影列表数据.avi8 e$ y( V4 e; p2 U. Q( L1 D
│ 09.绘制电影列表Item项.avi
/ h* \, ^, x0 j% e│ 10.路由导航并传参.avi( S! j$ @! P# B( ~0 p }
│ 11.美化电影详情页面.avi) y: |. ?+ y8 T' y) w$ w9 {
│ 12.修改App名称和图标并打包发布.mp4; |0 a2 V+ B* b. q# ?3 }4 h
│ 8 ]* u& Z) \7 S9 S8 I
└─仿直聘的flutter完整教程-中新金桥20194 Y0 j7 Z8 \8 w# E) |: D4 l* j
FlutterGFZP_V0.5.1_en_aj_0001.mp4
' x. O9 s5 D+ a6 w3 R/ A FlutterGFZP_V0.5.1_en_aj_0002.mp4
1 L8 P& }5 V3 h FlutterGFZP_V0.5.1_en_aj_0003.mp4
+ w3 ?6 z- u5 _: X! I* u/ z* y FlutterGFZP_V0.5.1_en_aj_0004.mp4/ E* {2 V1 C0 D% M Z
FlutterGFZP_V0.5.1_en_aj_0005.mp4
# E- V! m) B% {$ G/ o1 ^! _" q FlutterGFZP_V0.5.1_en_aj_0006.mp4
2 z6 B* l+ K" M* ^ r" {/ [ FlutterGFZP_V0.5.1_en_aj_0007.mp45 a3 z S, j! ~" [
FlutterGFZP_V0.5.1_en_aj_0008.mp40 e, j) V4 N& d: d
FlutterGFZP_V0.5.1_en_aj_0009.mp4) p" ?( p0 v$ d# ~' s9 a
FlutterGFZP_V0.5.1_en_aj_0010.mp4
& N6 m+ v: H+ I2 Y FlutterGFZP_V0.5.1_en_aj_0011.mp4
" d- @( H4 u5 z2 J FlutterGFZP_V0.5.1_en_aj_0012.mp4
$ E) d5 Y3 e( W Z FlutterGFZP_V0.5.1_en_aj_0013.mp48 d/ I" E2 L. W7 U' |% X8 W
FlutterGFZP_V0.5.1_en_aj_0014.mp4
% c% S" P# b& t0 Q8 X FlutterGFZP_V0.5.1_en_aj_0015.mp4 k0 l4 Y8 A& q m4 B# B
FlutterGFZP_V0.5.1_en_aj_0016.mp4
0 s; @( B0 f+ d# J7 [7 t, P FlutterGFZP_V0.5.1_en_aj_0017.mp4
5 L9 m; X0 V0 t$ a9 ? FlutterGFZP_V0.5.1_en_aj_0018.mp4
. o* ~5 r) @- L3 h* v3 l. a FlutterGFZP_V0.5.1_en_aj_0019.mp4
0 W. M x6 b- r) { FlutterGFZP_V0.5.1_en_aj_0020.mp4
' B6 f7 Q) F) h3 P3 g- U: F FlutterGFZP_V0.5.1_en_aj_0021.mp4
. e) p1 a* }: x8 x4 u8 _ FlutterGFZP_V0.5.1_en_aj_0022.mp4- Q0 j+ u$ D2 l
FlutterGFZP_V0.5.1_en_aj_0023.mp4
" n$ p; l- S) o& _# S3 S3 Y) d FlutterGFZP_V0.5.1_en_aj_0024.mp4# J5 n# X7 _6 x
FlutterGFZP_V0.5.1_en_aj_0025.mp44 d1 l- y8 Q- L ]- O1 L* k) u9 s+ _
FlutterGFZP_V0.5.1_en_aj_0026.mp4, M( q' W9 l9 N5 W" ]; M# L
FlutterGFZP_V0.5.1_en_aj_0027.mp4
- G% e; n p# k0 G9 Q4 X- i0 m FlutterGFZP_V0.5.1_en_aj_0028.mp4
& M5 x1 K, q. v f; l- g FlutterGFZP_V0.5.1_en_aj_0029.mp43 [8 I4 {( I3 h* o: ~1 F4 ?% P
FlutterGFZP_V0.5.1_en_aj_0030.mp4. D' V* ?* k+ o d. y
FlutterGFZP_V0.5.1_en_aj_0031.mp4
& R, R. F2 t. c4 z) @# H: n FlutterGFZP_V0.5.1_en_aj_0032.mp4
+ X" E7 B; k( `2 R3 T( h FlutterGFZP_V0.5.1_en_aj_0033.mp40 @6 k6 x/ u) p; q2 e
FlutterGFZP_V0.5.1_en_aj_0034.mp4
1 W- Y0 h B7 g7 U2 _4 ?! K FlutterGFZP_V0.5.1_en_aj_0035.mp4
* v! r" M0 \5 c$ ?; d! e! z FlutterGFZP_V0.5.1_en_aj_0036.mp47 g% v- t# B( g" }5 l
FlutterGFZP_V0.5.1_en_aj_0037.mp47 G. `2 a# l- h# W$ }
FlutterGFZP_V0.5.1_en_aj_0038.mp4
+ R/ h( Q1 M' ^# _7 U% G FlutterGFZP_V0.5.1_en_aj_0039.mp42 y# D" _6 j) `( @" U
FlutterGFZP_V0.5.1_en_aj_0040.mp4
! P- w [/ h1 K0 }* r) l! [) s FlutterGFZP_V0.5.1_en_aj_0041.mp4
+ r3 z& t4 _6 r& k" m; m FlutterGFZP_V0.5.1_en_aj_0042.mp4/ I0 U% f5 s# z) w, x
FlutterGFZP_V0.5.1_en_aj_0043.mp4
) s3 V* N) z$ Z8 H0 k3 G FlutterGFZP_V0.5.1_en_aj_0044.mp4
: c- L7 N( k S) H FlutterGFZP_V0.5.1_en_aj_0045.mp40 Q: u, I& i* b; _# H- E
FlutterGFZP_V0.5.1_en_aj_0046.mp4
- `* f* X, n: Y2 q% n FlutterGFZP_V0.5.1_en_aj_0047.mp40 {7 |( ~3 n* b# m
FlutterGFZP_V0.5.1_en_aj_0048.mp4
* q% t, X, i3 z4 ] q0 J* S" a( \ FlutterGFZP_V0.5.1_en_aj_0049.mp4' L0 [0 T4 x' h6 ^. B. s
FlutterGFZP_V0.5.1_en_aj_0050.mp4- u7 U8 o% c3 }/ f& k6 H$ o I
FlutterGFZP_V0.5.1_en_aj_0051.mp4
" s4 m) c4 r: R, f FlutterGFZP_V0.5.1_en_aj_0052.mp4
. M! g) {1 D1 W! ~' {; |, Y9 q) O FlutterGFZP_V0.5.1_en_aj_0053.mp4
; {& ?2 y) X' X1 x4 h7 Y FlutterGFZP_V0.5.1_en_aj_0054.mp4' o/ W- @4 r! r: ?' q% |
5 ?' j8 g: q- l, T+ z; ], o
& q3 y: U; [' t2 D* t& @$ A+ y
6 }" V7 E2 }2 N5 @3 n, @2 h8 a
3 R0 N/ r) }0 p& a8 V8 \7 J5 X |
|