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