手势
说明:
Flutter的手势系统分为两层,第一层是触摸原事件(指针),有相应的四种事件类型:
- PointerDownEvent:用户与屏幕接触产生了联系;
- PointerMoveEvent:手指已从屏幕上的一个位置移动到另一个位置;
- PointUpEvent:用户已停止接触屏幕;
- PointerCancelEvent:此指针的输入不再指向此应用程序。
第二层就是我们可以检测到的手势,主要分为三大类,包括轻击、拖动和缩放。
下面,我们来学习GestureDetector(进行手势检测)、Dismissible(实现滑动删除)
用GestureDetector进行手势检测
手势事件以及描述表:
事件名 | 描述 |
---|---|
onTapDown | 点击屏幕立即触发此方法 |
onTapUp | 手指离开屏幕 |
onTap | 点击屏幕 |
onTapCancel | 此次点击事件结束,onTapDown不会再产生点击事件 |
onDoubleTap | 用户快速连续两次在同一位置点击屏幕 |
onLongPress | 长时间保持与相同位置的屏幕接触 |
onVerticalDragStart | 与屏幕接触,可能会开始垂直移动 |
onVerticalDragUpdate | 与屏幕接触并垂直移动的指针在垂直方向上移动 |
onVerticalDragEnd | 之前与屏幕接触并垂直移动的指针不再与屏幕接触,并且在停留接触屏幕时以特定的速度移动垂直拖动 |
onHorizontalDragStart | 与屏幕接触,可能开始水平移动 |
onHorizontalDragUpdate | 与屏幕接触并水平移动的指针在水平方向上移动 |
onHorizontalDragEnd | 先前与屏幕接触并且水平移动的指针不再与屏幕接触,并且当它停止接触屏幕时以特定速度移动水平拖动 |
例子:制作一个自定义的按钮,当点击时显示文字“你已按下”
代码:
main.dart