Jetpack Compose之手势使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jetpack Compose之手势使用相关的知识,希望对你有一定的参考价值。

参考技术A

在一个应用中用户的交互操作非常多,如:点击、滑动、拖动等,这些操作统统离不开手势。
在正式介绍 Compose手势 前,我们先来了解下Jetpack Compose手势整体框架,做到心中有图。

这个含义都懂就不解释,实现点击采用的修饰符 clickable ,如下:

滚动修饰符实现
使用的修饰符为: verticalScroll或horizontalScroll ,您无需转换或偏移内容。

可滚动修饰符实现
使用修饰符为: scrollable ,检测到滚动,但不会滚动,需与ScrollableController配合实现滚动。构造 ScrollableController 时,您必须提供一个 consumeScrollDelta 函数,该函数将在每个滚动步骤调用(通过手势输入、流畅滚动或快速滑动),并且增量以像素为单位。

支持嵌套滚动
Compose 支持嵌套滚动,可让多个元素对一个滚动手势做出回应。典型的嵌套滚动示例是在一个列表中嵌套另一个列表。

实现拖动有两种方式:
单一方向拖动 - draggable
draggable 向单一方向(水平或垂直)拖动手势的高级入口点,并且会报告拖动距离(以像素为单位)。

任意方向拖动 - pointerInput
pointerInput 修饰符可以检测到手势变化及偏移量。

滑动使用的修饰符为: swipeable ,您可以拖动元素,释放后,这些元素通常朝一个方向定义的两个或多个锚点继续滑动以呈现动画效果。其常见用途是实现“滑动关闭”模式。
这里以滑块为例:

手势的多点触控可以实现组件的缩放、平移、旋转,采用的修饰符为: transformable和graphicsLayer组合方式 。
以一个长方形为例:

Jetpack Compose中的手势实现均与修饰符(Modifier)有关。

欢迎留言,一起学习,共同进步!

以上是关于Jetpack Compose之手势使用的主要内容,如果未能解决你的问题,请参考以下文章

Jetpack Compose中的手势操作

使用Jetpack Compose完成自定义手势处理

Jetpack Compose - Slider

Jetpack Compose Runtime 与 NodeTree 管理

Android JetPack Compose组件中Scaffold的应用

Jetpack Compose 深入探索系列一:Composable 函数