欢迎光临散文网 会员登陆 & 注册

手势事件作用域 awaitPointerEventScope

2023-04-02 21:37 作者:哆啦a梦的道具师  | 我要投稿

手势事件作用域 awaitPointerEventScope

我们前面介绍的 GestureDetector 系列 API 本质上仍然是一种封装,既然手势处理是在协程中完成的,所以手势监听必然是通过协程的挂起恢复实现的,以取代传统的回调监听方式。 要想深入理解 Compose 手势处理,就需要学习更为底层的手势处理挂起方法。\n\n在 PointerInputScope 中我们使用 awaitPointerEventScope 方法获得 AwaitPointerEventScope 作用域,在 AwaitPointerEventScope 作用域中我们可以使用 Compose 中所有低级别的手势处理挂起方法。 当 awaitPointerEventScope 内所有手势事件都处理完成后 awaitPointerEventScope 便会恢复执行将 Lambda 中最后一行表达式的数值作为返回值返回。

suspend fun awaitPointerEventScope(

  block: suspend AwaitPointerEventScope.() -> R

): R

我们在 AwaitPointerEventScope 中发现了以下这些基础手势方法,可以发现这些 API 均是挂起函数 awaitPointerEvent\t手势事件 awaitFirstDown\t第一根手指的按下事件 drag\t拖动事件 horizontalDrag\t水平拖动事件 verticalDrag\t垂直拖动事件 awaitDragOrCancellation\t单次拖动事件 awaitHorizontalDragOrCancellation\t单次水平拖动事件 awaitVerticalDragOrCancellation\t单次垂直拖动事件 awaitTouchSlopOrCancellation\t有效拖动事件 awaitHorizontalTouchSlopOrCancellation\t有效水平拖动事件 awaitVerticalTouchSlopOrCancellation\t有效垂直拖动事件

手势事件作用域 awaitPointerEventScope的评论 (共 条)

分享到微博请遵守国家法律