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