您可以使用 LazyListState.firstVisibleItemIndex
属性(通过 rememberLazyListState
获取,并设置为 LazyColumn
的状态
参数),并基于此设置当前选项卡。
读取该属性被视为在 Compose 中读取的模型,因此每当第一个可见项发生更改时,它将触发重新组合。
如果您想做一些更复杂的事情,而不仅仅是基于第一个可见项,那么可以使用LazyListState。layoutInfo
获取所有可见项及其位置的信息,而不仅仅是第一个。
只需创建一个嵌套滚动连接
,并将其分配给父视图nestedScroll
修改器:
val nestedScrollConnection = remember {
object : NestedScrollConnection {
override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
val delta = available.y
// called when you scroll the content
return Offset.Zero
}
}
}
将其分配给LazyColong
或其父组合视图:
Modifier.nestedScroll(nestedScrollConnection)
例如:
LazyColumn(
...
modifier = Modifier.nestedScroll(nestedScrollConnection)
) {
items(...) {
Text("Your text...")
}
}
当Ryan M编写时,您可以使用LazyListState.firstVisibleItemIndex
。Compose的神奇之处在于您可以在if
语句中使用它,而Compose将完成这项工作。请看以下示例,它根据第一个可见项显示不同的文本。同样,您可以根据第一个可见项选择不同的选项卡。
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val listState = rememberLazyListState()
Column {
Text(if (listState.firstVisibleItemIndex < 100) "< 100" else ">= 100")
LazyColumn(state = listState) {
items(1000) {
Text(
text = "$it",
modifier = Modifier.fillMaxWidth(),
)
}
}
}
}
}
}
导航条示例 滚动监听插件会根据滚动的位置,自动更新导航条的目标。滚动在导航条下面的区域,查看active类的改变。弹出菜单的子项也同样会被高亮。 用法 需要Bootstrap导航条 Scrollspy currently requires the use of a Bootstrap nav component for proper highlighting of active links. 滚动
滚动监听是一个 jQuery 插件,用于追踪某一确定元素并且元素目前处于用户屏幕的焦点。我们的示例在每个文档页的右边。单击这些链接将滚动到页面元素的位置。 表格内容的结构 <div class="row"> <div class="col s12 m9 l10"> <div id="introduction" class="section scrollspy"> <p>内容 </p>
本文向大家介绍vue监听滚动事件实现滚动监听,包括了vue监听滚动事件实现滚动监听的使用技巧和注意事项,需要的朋友参考一下 在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
主要内容:用法,实例,选项,方法,实例,事件,实例,更多实例,实例,实例滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动,基于滚动条的位置向导航栏添加 .active class。 如果您想要单独引用该插件的功能,那么您需要引用 scrollspy.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的 bootstrap.min.js。
主要内容:如何创建滚动监听,实例,实例滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动。 如何创建滚动监听 以下实例演示了如何创建滚动监听: 实例 <!-- 可滚动区域 --> <body data-spy="scroll" data-target=".navbar" data-offset="50"> <!-- The navbar - The <a> el
本文向大家介绍vue监听滚动事件的方法,包括了vue监听滚动事件的方法的使用技巧和注意事项,需要的朋友参考一下 vue中监听滚动事件,然后对其进行事件处理,一般有:1. 滚动到顶部吸附; 2. 根据滚动的位置激活对应的tab键(锚链接tab键) 这两种方式的处理都是可通过监听scroll来实现 处理方法 1. 滚动到顶部吸附 html元素 methods方法 2. 根据滚动的位置激活对应的tab键