Skip to content

Commit fcbe967

Browse files
committed
New
1 parent 111ee21 commit fcbe967

20 files changed

+312
-11
lines changed

.idea/FlutterDoc.iml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 131 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Flutter-NoteBooks/demo1.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ void main() => runApp(MyApp());
2626
class MyApp extends StatelessWidget{
2727
@override
2828
Widget build(BuildContext context){
29-
return MaterialApp(
29+
return MaterialApp( // MaterialApp是UX
3030
// 其他代码
3131
// 这里面放置主页的实现类,我这叫做’Home‘
3232
home: Home(),
@@ -73,12 +73,39 @@ class MainFace extends State<Home> {
7373
11. [动画类](demo12.md)
7474
12. [路由跳转类](demo13.md)
7575
13. [主题类](demo14.md)
76-
14. [事件构建器](demo15.md)
76+
14. [管理器](demo15.md)
7777

7878
## Flutter中的状态
7979
* 无状态控件:无状态小部件是指其外观和行为仅由构造函数中的参数决定,并且在构建后不会发生变化。无状态控件一般继承于StatelessWidget基类
8080
* 带状态控件:有状态小部件是指其外观和行为不仅取决于构造函数中的参数,还取决于内部可变的状态。带状态控件一般继承于StatefulWidget基类
8181

82+
## 带状态控件的四个重要生命周期
83+
1. initState
84+
调用时机:当 State 对象被插入到 Widget 树时(即 Widget 被创建时)。
85+
用途:
86+
初始化状态变量。
87+
创建控制器(如 TextEditingController、AnimationController)。
88+
开始异步操作(如网络请求)。
89+
注意:不能使用 BuildContext 访问树中的其他 Widget,因为此时 Widget 还未完全构建。
90+
2. didChangeDependencies
91+
调用时机:当 InheritedWidget 更新时被调用。
92+
用途:
93+
响应依赖的 InheritedWidget 变化,例如 Theme、MediaQuery 等。
94+
在这里访问新依赖项,并根据需要更新状态。
95+
注意:该方法可以多次调用,因此要确保更新逻辑合理。
96+
3. didUpdateWidget
97+
调用时机:当父 Widget 重新构建,并且新的 Widget 对象传递给该状态时被调用。
98+
用途:
99+
响应父 Widget 更新时调整当前状态。
100+
比较旧的和新的 Widget,决定是否需要更新状态。
101+
注意:需要保留旧 Widget 的引用,以便进行比较。
102+
4. dispose
103+
调用时机:当 State 对象从 Widget 树中移除时被调用。
104+
用途:
105+
清理资源,例如取消订阅、释放控制器、关闭数据库连接等。
106+
避免内存泄漏。
107+
注意:在调用父类的 dispose 方法之前,确保执行必要的清理。
108+
82109
## <font color='red'>约定</font> :从此文章开始,我们规定以下内容
83110
* 用'...'代表类或者方法这里面有或者没有参数
84111
* 对一些类中重复的参数,我很大可能会写第二次注解,但是可能会有额外的特性,所以你要特别注意

Flutter-NoteBooks/demo15.md

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
# 事件构建器
2-
> * FutureBuilder:Flutter 中的 FutureBuilder 是一个用于处理异步操作的常用组件。它允许你根据异步操作(例如网络请求、文件读取等)的状态来动态构建 UI。
3-
> * StreamBuilder:是用于处理持续数据流(Stream)的小部件。它依赖于 Stream 对象,并根据 Stream 的数据流动态构建 UI。Stream 表示的是持续产生数据的序列,通常用于实时数据更新、事件监听等场景。
1+
# 管理器
2+
> * FutureBuilder:用于处理异步操作的常用组件。它允许你根据异步操作(例如网络请求、文件读取等)的状态来动态构建 UI。
3+
> * StreamBuilder:用于处理持续数据流(Stream)的小部件。它依赖于 Stream 对象,并根据 Stream 的数据流动态构建 UI。Stream 表示的是持续产生数据的序列,通常用于实时数据更新、事件监听等场景。
44
> * ValueListenableBuilder:用于监听和响应值发生变化的小部件,通常用于监听 ValueNotifier 或其他实现了 ValueListenable 接口的对象的变化。与 FutureBuilder 和 StreamBuilder 不同,它并不处理异步操作的结果或数据流的更新。
5+
> * FocusNode:用于管理焦点的类。
56
6-
## FutureBuilder
7+
## FutureBuilder类
78
### 默认构造函数
89
```text
910
FutureBuilder({
@@ -22,7 +23,7 @@ FutureBuilder({
2223
| initialData | T | 这是未来完成之前的初始数据,如果提供了初始数据,将会用它来构建用户界面 |
2324
| builder | Widget | 这是一个必需的回调函数,用于构建基于 Future 返回的数据的 Widget 树 |
2425

25-
## StreamBuilder
26+
## StreamBuilder类
2627
### 默认构造函数
2728
```text
2829
StreamBuilder({
@@ -41,7 +42,7 @@ StreamBuilder({
4142
| stream | Stream | 这是 StreamBuilder 必须的参数,用于传入一个 Stream 对象,它会监听这个流的数据变化 |
4243
| builder | Widget | 这是一个必需的回调函数,用于构建基于流数据的 Widget 树 |
4344

44-
## ValueListenableBuilder
45+
## ValueListenableBuilder类
4546
### 默认构造函数
4647
```text
4748
ValueListenableBuilder({
@@ -60,4 +61,27 @@ ValueListenableBuilder({
6061
| builder | Widget | 这是一个必需的回调函数,用于构建基于可监听对象的值的 Widget 树 |
6162
| child | Widget | 这是一个可选的参数,用于在构建函数中传入一个固定的子组件,通常用于性能优化 |
6263

64+
## FocusNode类
65+
### 默认构造函数
66+
```text
67+
FocusNode({
68+
String? debugLabel,
69+
this.onKey,
70+
this.onKeyEvent,
71+
bool skipTraversal = false,
72+
bool canRequestFocus = true,
73+
bool descendantsAreFocusable = true,
74+
bool descendantsAreTraversable = true,
75+
})
76+
```
6377

78+
### FocusNode(...)参数解析
79+
| 参数名称 | 使用类型 | 参数介绍 |
80+
|---------------------------|-------------------------------------------------|-------------------------------------------|
81+
| debugLabel | String | 用于调试目的的标签,可以帮助开发者在调试时识别该 FocusNode 或组件的状态 |
82+
| onKey | KeyEventResult Function(FocusNode, RawKeyEvent) | 这是一个用于处理键盘事件的回调函数 |
83+
| onKeyEvent | KeyEventResult Function(FocusNode, KeyEvent) | 一个回调函数,当键盘事件发生时触发,可以用于处理键盘输入、快捷键等 |
84+
| skipTraversal | bool | 表示在焦点遍历时是否跳过这个节点 |
85+
| canRequestFocus | bool | 指示该节点是否可以请求焦点 |
86+
| descendantsAreFocusable | bool | 指示该节点的子孙组件是否可以获得焦点 |
87+
| descendantsAreTraversable | bool | 指示该节点的子孙组件在焦点遍历中是否可达 |

Flutter-NoteBooks/demo5.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
> * AnimatedIcon:用于显示动画图标。
1010
> * CircleAvatar:用于显示圆形的用户头像或图标。
1111
> * DecorationImage:用于在容器(如 Container)的背景或前景中显示图像。
12+
> * IconData:用于构建图标控件,比如Icon组件。每个IconData 对象都代表一个特定的图标,通常是从一个图标字体(如 Material Icons 或 Font Awesome)中提取的。
1213
1314
## Image类
1415
### 默认构造函数
@@ -508,3 +509,27 @@ DecorationImage({
508509
| filterQuality | FilterQuality | 表示图像的滤镜质量 |
509510
| invertColors | bool | 表示是否反转图像的颜色 |
510511
| isAntiAlias | bool | 表示是否使用抗锯齿来渲染图像 |
512+
513+
## IconData类
514+
### 默认构造函数
515+
```text
516+
IconData(
517+
this.codePoint, {
518+
this.fontFamily,
519+
this.fontPackage,
520+
this.matchTextDirection = false,
521+
this.fontFamilyFallback,
522+
})
523+
```
524+
525+
### IconData(...)参数解析
526+
| 参数名称 | 使用类型 | 参数介绍 |
527+
|--------------------|--------------|-----------------------------------------------------|
528+
| codePoint | int | 表示图标在字体中的 Unicode 代码点 |
529+
| fontFamily | String | 指定图标所使用的字体家族 |
530+
| fontPackage | String | 指定图标字体包的名称 |
531+
| matchTextDirection | bool | 当设置为 true 时,图标会根据文本方向(左到右或右到左)来调整方向。这在支持国际化的应用中特别有用 |
532+
| fontFamilyFallback | List<String> | 允许你提供一个字体家族的后备列表 |
533+
534+
535+

0 commit comments

Comments
 (0)