【发布时间】:2022-11-18 16:47:46
【问题描述】:
假设我们在屏幕上有 n 个特定的可组合项。
data class MyItem()
@Composable
fun MyComposable(myItem:Item, onExpose:() -> Unit) {
Box {
//blabla.... If any part of the Composable is exposed, it should call onExpose.
}
}
@Composable
fun MyComposableList() {
// or LazyColumn, Anyway.
Column {
MyComposable(Item()) { println("Item 1 Exposed!!") }
MyComposable(Item()) { println("Item 2 Exposed!!") }
MyComposable(Item()) { println("Item 3 Exposed!!") }
.....
MyComposable(Item()) { println("Item 4 Exposed!!") }
}
}
这些项目取决于各种变量,例如终端的大小和其他可组合项的组合,
可能一次全部曝光,也可能只曝光前几名。
我知道 ScrollState 让您“大致”知道当前滚动条中有多少项是可见的。
但是我想知道 Composable 是否可以自己知道它正在暴露在屏幕上。
这是 Compose 支持的功能吗?或者这是我必须使用 ScrollState 的部分?
【问题讨论】: