文章目录
-
-
-
- 【Flutter学习】事件处理与通知之事件处理 - GestureDetector
- 【Flutter学习】页面跳转之路由及导航 Route + Navigator
- 【Flutter学习】一些重要的概念之of(context)方法
- 【Flutter学习】页面跳转之SliverAppBar,CustomScrollView,NestedScrollView的使用
- 【Flutter学习】可滚动组件之ScrollView
- 【Flutter学习】可滚动组件之SingleChildScrollView
- 【Flutter学习】可滚动组件之滚动监听及控制
- 【Flutter学习】事件处理与通知之通知(Notification)
- 【Flutter学习】之深入浅出 Key
- 【Flutter学习】组件通信(父子、兄弟)
- 【Flutter学习】之 Flutter 的生命周期
- 【Flutter学习】之Widget数据共享之InheritedWidget
-
-
【Flutter学习】事件处理与通知之事件处理 - GestureDetector
- 第一层是触摸原事件(指针)
- PointerDownEvent:用户与屏幕接触产生了联系
- PointerMoveEvent:手指已从屏幕上的一个位置移动到另一个位置
- PointMoveEvent:指针停止接触屏幕
- PointerUpEvent:用户已停止接触屏幕
- PointerCanceEvent:此指针的输入不再指向此应用程序
- 第二层是手势事件(轻击,拖动,缩放)
- 自带交互的控件监听
- RaisedButton、
- IconButton、
- OutlineButton、
- Checkbox、
- SnackBar、
- Switch等
- 不自带交互的控件监听
- 用GestureDelector进行手势检测
- 用Dismissible实现滑动删除
- 自带交互的控件监听
【Flutter学习】页面跳转之路由及导航 Route + Navigator
-
Route
是一个应用程序抽象的屏幕或页面 -
Navigator
是一个管理路由的widget -
静态路由
:具体指定一个由路由名构成的 Map。(MaterialApp)命名路由
,它是将应用中需要访问的每个页面命名为不重复的字符串,我们便可以通过这个字符串来将该页面实例推进路由 -
动态路由
:直接跳转到一个路由。(WidgetApp)
又称组件路由
,要在堆栈上推送新的实例,我们可以调用导航器 Navigator.push ,传入当前 context 并且使用构建器函数创建MaterialPageRoute
实例,该函数可以创建您想要在屏幕上显示的内容
— pushReplacementNamed
— popAndPushNamed
— pushNamedAndRemoveUntil
— popUntil
【Flutter学习】一些重要的概念之of(context)方法
【Flutter学习】页面跳转之SliverAppBar,CustomScrollView,NestedScrollView的使用
【Flutter学习】可滚动组件之ScrollView
【Flutter学习】可滚动组件之SingleChildScrollView
【Flutter学习】可滚动组件之滚动监听及控制
【Flutter学习】事件处理与通知之通知(Notification)
-
Notification是Flutter中一个重要的机制,在Widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)
向上传递
,所有父节点都可以通过NotificationListener来监听通知,Flutter中称这种通知由子向父的传递为“通知冒泡”(Notification Bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。 -
Flutter中很多地方使用了通知,如可滚动(Scrollable) Widget中滑动时就会分发ScrollNotification,而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。除了ScrollNotification,Flutter中还有SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等。
【Flutter学习】之深入浅出 Key
— ValueKey
— ObjectKey
— UniqueKey
— PageStorageKey
— GlobalKey