Mar*_*arr 5 android android-jetpack-compose
在 Jetpack compose 1.0.0-beta01 中,我像这样调用 BottomSheetScaffold:
BottomSheetScaffold(
scaffoldState = bottomSheetScaffoldState,
sheetContent = { Text("") },
sheetShape = Shapes.large,
backgroundColor = AppTheme.colors.uiBackground,
modifier = modifier
) { (content) }
Run Code Online (Sandbox Code Playgroud)
...并收到以下错误:
java.lang.IllegalArgumentException:初始值必须有关联的锚点。
有关解决此问题的任何提示?
小智 18
当bottomSheetState展开时,sheetContent必须有真正的内容要显示。
你需要检查一下这个。
Mar*_*arr 14
不要忘记添加以下属性:
SheetPeekHeight = 0.dp
所以你的代码应该是这样的:
BottomSheetScaffold(
scaffoldState = bottomSheetScaffoldState,
sheetContent = { Text("") },
sheetShape = Shapes.large,
sheetPeekHeight = 0.dp, // <--- new line
backgroundColor = AppTheme.colors.uiBackground,
modifier = modifier
) { (content) }
Run Code Online (Sandbox Code Playgroud)
使用 ModalBottomSheetLayout 时遇到同样的问题,我的撰写材质版本是 1.2.0-rc02 androidx.compose.material:material:1.2.0-rc02 我想在选择一项时显示底部模态,如果没有项被选中时,模态框应该为空。
ModalBottomSheetLayout(
sheetState = modalBottomSheetState,
sheetContent = {
EditProgressContent(book = book)
}
) { ... }
@Composable
fun EditProgressContent(book: Book?) {
if (book == null) return
Text(book.title)
}
Run Code Online (Sandbox Code Playgroud)
当书为空时,我遇到了同样的崩溃。ModalBottomSheetLayout 没有 peekHeight 参数,所以当 book 为 null 时我必须添加一个像素
@Composable
fun EditProgressContent(book: Book?) {
if (book == null) {
Box(modifier = Modifier.size(1.dp)
return
}
Text(book.title)
}
Run Code Online (Sandbox Code Playgroud)
该代码看起来很愚蠢,希望谷歌能够修复它。
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |