Jetpack Compose Bottom Sheet 初始化错误
Jetpack Compose Bottom Sheet initialization error
在 Jetpack compose 1.0.0-beta01 中,我这样调用 BottomSheetScaffold:
BottomSheetScaffold(
scaffoldState = bottomSheetScaffoldState,
sheetContent = { Text("") },
sheetShape = Shapes.large,
backgroundColor = AppTheme.colors.uiBackground,
modifier = modifier
) { (content) }
...并出现以下错误:
java.lang.IllegalArgumentException: The initial value must have an associated anchor.
关于解决此问题的任何提示?
不要忘记添加以下属性:
sheetPeekHeight = 0.dp
所以你的代码应该是这样的:
BottomSheetScaffold(
scaffoldState = bottomSheetScaffoldState,
sheetContent = { Text("") },
sheetShape = Shapes.large,
sheetPeekHeight = 0.dp, // <--- new line
backgroundColor = AppTheme.colors.uiBackground,
modifier = modifier
) { (content) }
如果您因为使用 BackdropScaffold
而最终进入此页面,建议的解决方案也可以解决问题。只需设置 peekHeight
。
例如像这样:
BackdropScaffold(
appBar = {},
backLayerContent = {},
frontLayerContent = {},
peekHeight = 0.dp
)
然后预览再次发挥作用。
但有趣的事实:不要将它设置为 56.dp
,这是默认的初始值,通常应该使用(BackdropScaffoldDefaults.PeekHeight
的值)进行初始化。 56.dp
导致我当前设置中出现锚渲染问题。
(使用撰写版本“1.1.1”)
当bottomSheetState展开时,sheetContent
必须有真实的内容才能显示。
你需要检查这个。
在 Jetpack compose 1.0.0-beta01 中,我这样调用 BottomSheetScaffold:
BottomSheetScaffold(
scaffoldState = bottomSheetScaffoldState,
sheetContent = { Text("") },
sheetShape = Shapes.large,
backgroundColor = AppTheme.colors.uiBackground,
modifier = modifier
) { (content) }
...并出现以下错误:
java.lang.IllegalArgumentException: The initial value must have an associated anchor.
关于解决此问题的任何提示?
不要忘记添加以下属性:
sheetPeekHeight = 0.dp
所以你的代码应该是这样的:
BottomSheetScaffold(
scaffoldState = bottomSheetScaffoldState,
sheetContent = { Text("") },
sheetShape = Shapes.large,
sheetPeekHeight = 0.dp, // <--- new line
backgroundColor = AppTheme.colors.uiBackground,
modifier = modifier
) { (content) }
如果您因为使用 BackdropScaffold
而最终进入此页面,建议的解决方案也可以解决问题。只需设置 peekHeight
。
例如像这样:
BackdropScaffold(
appBar = {},
backLayerContent = {},
frontLayerContent = {},
peekHeight = 0.dp
)
然后预览再次发挥作用。
但有趣的事实:不要将它设置为 56.dp
,这是默认的初始值,通常应该使用(BackdropScaffoldDefaults.PeekHeight
的值)进行初始化。 56.dp
导致我当前设置中出现锚渲染问题。
(使用撰写版本“1.1.1”)
当bottomSheetState展开时,sheetContent
必须有真实的内容才能显示。
你需要检查这个。