旅游网站建设 pig,网页设计尺寸pt是什么意思,如何自学做网站,如何搭建内网网站文章目录 1. 概念介绍2. 使用方法2.1 高级事件2.2 低级事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中事件相关的内容#xff0c;本章回中主要
介绍事件中的滚动事件。闲话休提#xff0c;让我们一起Talk Android Jetpack吧#xff01; 1. 概念介绍
我们在… 文章目录 1. 概念介绍2. 使用方法2.1 高级事件2.2 低级事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中事件相关的内容本章回中主要
介绍事件中的滚动事件。闲话休提让我们一起Talk Android Jetpack吧 1. 概念介绍
我们在前面章回中介绍了Jetpack compose中的各种事件不过这些事件主以点击事件为主本章回中将介绍另外一种事件滚动事件。
我们在这里介绍的滚动事件是指对某个组件的发出的滚动事件常用的场景是通过发出滚动事件让列表中的内容发生滚动。
2. 使用方法
滚动事件也分高级和低级高级事件使用方便不过缺少一些细节低级事件相对高级事件更加强大一些接下来我们将分别介绍这两种事件的使用方法。
2.1 高级事件
高级滚动事件使用verticalScroll和horizontalScroll修饰符表示它们分别表示垂直和水平方向的滚动事件。在使用它们发出滚动事件时需要配合ScrollState这个状态值一起使用我们将在后面的小节中通过示例代码来演示它的使用方法。
2.2 低级事件
低级滚动事件使用scrollable修饰符表示它提供了名叫orientation的参数通过该参数可以设置事件类型是垂直或者水平方向的滚动事件。在使用它发出滚动事件时需要配合ScrollableState这个状态值一起使用我们将在后面的小节中通过示例代码来演示它的使用方法。
3. 示例代码
val scrollState rememberScrollState()//指定滚动到的位置这个值与滚动区域的大小有关也就是代码中的120dpLaunchedEffect(Unit) { scrollState.animateScrollTo(60)}Column(modifier Modifier.height(120.dp) //限定区域大小.background(color Color.LightGray)
// .verticalScroll(rememberScrollState()).verticalScroll(scrollState)) {repeat(5) {Text(modifier Modifier.padding(8.dp),text This is No: $it)}}//通过ScrollableState修饰符获取滚动的偏移值var scrollOffset by remember { mutableStateOf(0f)}Box(modifier Modifier.height(80.dp).scrollable(orientation Orientation.Vertical,state rememberScrollableState { consumeScrollDelta -scrollOffset consumeScrollDeltaconsumeScrollDelta})) { //在文本上显示滚动偏移值Text(text if(scrollOffset 0f) ScrollableStateelse scrollOffset.toString())}
上面的示例代码中演示了高级和低级滚动事件的用法可以在高级事件的状态中指定滚动的初始位置这样可以默认显示某个位置的内容。
我们在代码中创建了一个包含五个成员的列表手指上下滑动时就发出了滚动事件列表的内容会随之发生滚动。大家可以从下面的运行效果图中看到此效果。
低级事件的状态中包含有滚动事件的偏移值当手指发生滑动时偏移值会发生变化我们把偏移值显示在了与滚动事件绑定的Text上不过该Text不会随着滚动事件的滚动而滚动这是低级滚动事件与高级滚动事件最大的区别滚动事件发生时内容不滚动。大家可以从下面的运行效果图中看到此效果。 4. 内容总结
最后我们对本章回的内容做一个全面的总结
滚动事件和之前介绍的点击事件类似也分高级和低级两种高级滚动事件使用verticalScroll和horizontalScroll修饰符表示低级滚动事件使用scrollable修饰符表示事件的水平和垂直类型通过它的参数来指定高级滚动事件和低级滚动事件都需要配合状态值才能使用这是它们的相同点高级滚动事件和低级滚动事件的不同点内容在高级事件中随着滚动事件的滚动而滚动在低级事件中不滚动
看官们与Jetpack中滚动事件相关的内容就介绍到这里欢迎大家在评论区交流与讨论