【发布时间】:2022-12-22 05:13:58
【问题描述】:
我想相对于 bottomsheetscoffold 中的 bottomsheet 动态更改内容的高度,如下所示:
到目前为止,这是我尝试过的: `
val bottomSheetState = rememberBottomSheetState(initialValue =BottomSheetValue.Expanded )
val bottomSheetScaffoldState= rememberBottomSheetScaffoldState(
bottomSheetState = bottomSheetState)
val heightPixels= LocalContext.current.resources.displayMetrics.heightPixels
BottomSheetScaffold(
modifier = Modifier.fillMaxSize()
sheetPeekHeight = 68.dp,
scaffoldState = bottomSheetScaffoldState,
sheetContent = {
/*
sheet content
*/
}) {
Box(modifier = Modifier
.fillMaxWidth()
.fillMaxHeight(((bottomSheetState.offset.value)
/ (heightPixels)).let { if (it == 0f) 1f else it })
) {
/*
content
*/
}
}
但它依赖于以像素为单位的系统高度,每次底部工作表的高度发生变化时,其内容的框都会重新组合
【问题讨论】:
-
对于与底部工作表偏移量相同的大小,如何向内容容器添加底部填充?
标签: android kotlin android-jetpack-compose bottom-sheet compose-recomposition