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