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