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