Tip*_*iff 5 android android-jetpack android-jetpack-compose lazycolumn
如何计算 Jetpack compose 中最后一个可见项目之后惰性列中的空白空间。
您可以Modifier.onSizeChanged{intSize->}在 LazyColumn 及其父 Composble 上使用并检查它们之间的距离。
这里需要注意的一件事是,在获取父级和列表的大小后,需要再次重新组合。因此,您可能需要检查或参考此答案才能获得尺寸而无需重新组合
@Composable
private fun LazyColumnParentSizeSample() {
var parentHeight by remember { mutableStateOf(0) }
var listHeight by remember { mutableStateOf(0) }
Column(modifier=Modifier.fillMaxSize()
.onSizeChanged {
parentHeight = it.height
}) {
LazyColumn(modifier=Modifier.onSizeChanged {
listHeight = it.height
}){
items(10) {
Text("Item: $it")
}
}
Text("listHeight: $listHeight, parent height: $parentHeight, difference: ${parentHeight-listHeight}")
}
}
Run Code Online (Sandbox Code Playgroud)
要获得 dp 值,您可以使用LocalDensity.current
val diffInDp = LocalDensity.current.run {(parentHeight-listHeight).toDp() }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1027 次 |
| 最近记录: |