处理用户输入和手势
在移动应用开发中,与用户的交互至关重要。通过使用各种小部件(widgets),我们可以创建一个视觉资源丰富且允许用户通过手势和数据输入进行交互的界面。本文将详细介绍如何处理用户手势、接收和验证用户输入,以及如何创建自定义输入。
处理用户手势
移动应用如果没有某种交互性,就毫无意义。Flutter 框架允许以各种方式处理用户手势,从简单的点击到拖动和滑动手势。Flutter 的手势系统中的屏幕事件分为两层:
- 指针层(Pointer layers) :这一层包含指针事件,代表用户的交互,例如触摸位置和在设备屏幕上的移动。
- 手势层(Gestures) :Flutter 中的手势是最高级别的交互事件,你可能已经见过一些,例如点击、拖动和缩放。它们也是实现事件处理的最典型方式。
指针事件处理
Flutter 从底层(指针层)开始处理事件,在这一层你可以处理每个指针事件并决定如何控制它,例如拖动或单点触摸。Flutter 框架通过以下事件序列在小部件树中实现事件分发:
1. PointerDownEvent :交互开始,指针接触设备屏幕的某个位置。此时,框架会在小部件树中搜索屏幕上指针所在位置的小部件,这个动作称为命中测试(hit test)。
2. 后续的每个事件都会分发到与该位置匹配的最内层小部件,然后从父小部件向上传播到根。事件传播不能被中断。事件可以是 PointerMoveEvent (指针位置改变
超级会员免费看
订阅专栏 解锁全文
1290

被折叠的 条评论
为什么被折叠?



