J. *_*egg 6 android kotlin bottom-sheet android-jetpack-compose lazycolumn
我的 Android 应用程序内部有一个BottomSheetScaffold
如下所示的内容:
BottomSheetScaffold(
sheetGesturesEnabled = false,
sheetContent = { MyContent() },
scaffoldState = bottomSheetScaffoldState,
) {
..
}
Run Code Online (Sandbox Code Playgroud)
设置为sheetGesturesEnabled
后false
,工作表不应可滑动。但是,如果MyContent()
包含像 之类的可滚动组件LazyColumn
,则仍然可以在模态底部表单上执行滑动关闭手势。
这怎么可能?这是一个已知的错误吗?有什么解决办法吗?
小智 2
看起来这是一个已知的错误,可以在此处跟踪 -> https://issuetracker.google.com/issues/215403277
我也遇到了这个问题,需要同时找到解决方案,所以我最终将sheetPeekHeight 设置为我的LazyColumn 的高度。请注意,我并不为此感到自豪。
BottomSheetScaffold(
scaffoldState = sheetState,
sheetGesturesEnabled = false,
sheetPeekHeight = if(isFixedHeight) 500.dp else BottomSheetScaffoldDefaults.SheetPeekHeight,
sheetContent = {
LazyColumn(
state = listState,
userScrollEnabled = true,
modifier = Modifier
.heightIn(max = 500.dp)
) { //items }
}
Run Code Online (Sandbox Code Playgroud)
在我的实现中,我有条件地设置了sheetPeekHeight,因为只有在某些情况下它才需要是静态的,而在其他情况下则不需要。
它不漂亮,但很有效。我确信存在其他解决方法,但这个最适合我的用例。一旦发布了错误修复程序,请务必添加 TODO 来修复它。
归档时间: |
|
查看次数: |
3057 次 |
最近记录: |