当前位置: 首页 > 知识库问答 >
问题:

Jetpack 用空工作表内容编写底页始终是 expnaded

麻华辉
2023-03-14

我正在尝试通过< code>BottomSheetScaffold为一些自定义实现实现< code>modalBottomSheet。

这是我的底页口袋

BottomSheetScaffold(
    sheetPeekHeight = 0.dp,
    scaffoldState = bottomSheetState,
    sheetBackgroundColor = Color.Transparent,
    backgroundColor = Color.Transparent,
    sheetElevation = 0.dp,
    sheetShape = RoundedCornerShape(topStart = 36.dp, topEnd = 36.dp),
    snackbarHost = snackBarHost,
    sheetContent = { bottomSheet() }) {
    Box(Modifier.fillMaxSize()) {
        val coroutineScope = rememberCoroutineScope()
        sheetContent()
        Scrim(
            color = Primary,
            alpha = bottomSheetState.currentFraction * 0.5f,
            onDismiss = {
                coroutineScope.launch { bottomSheetState.bottomSheetState.collapse() }
            },
            visible = bottomSheetState.bottomSheetState.targetValue != BottomSheetValue.Collapsed && bottomSheetState.bottomSheetState.currentValue != BottomSheetValue.Collapsed
        )
    }
}

当这个scaffold被某个屏幕调用时,< code>sheetContent()将被替换为屏幕内容。这里我问题是,当< code>bottomSheet()在屏幕上是空的,因此没有高度,底部工作表状态认为它是展开的,而我只是没有将composable放入< code>bottomSheet()中,它只是根据一些条件填充,没有默认的composable。因此,< code>Scrim()函数将是可见的,当我单击它时,这个异常将抛出

java.lang.IllegalArgumentException:目标值必须有一个关联的锚。

共有1个答案

熊朝
2023-03-14

似乎虽然sheetContent对于BottomSheetScaffold是必需的,但没有办法处理空值,因为处理滑动的BottomSheetState类需要锚点来获取高度和空值导致意外结果

 类似资料:
  • 我想通过下面的代码在用xml编写的底部表单对话框中添加lazyColumn: 在撰写视图中将放置lazyCol在。问题是我无法将lazyCol在NestedScrollView中使用,并出现以下错误和应用程序崩溃: 不允许嵌套可沿同一方向滚动的布局,如LazyColumn和Column(Modifier.verticalScroll())。有人对如何解决这个问题有什么想法吗。这是我的lazyCol

  • 在我的主页上,我有一个懒散的专栏,其中一个项目是水平寻呼机。在每个水平寻呼机中都有一些页面,我也需要在其中设置懒散栏。错误是不允许在同一方向上使用嵌套滚动。我应该如何实现这个ui?

  • 问题内容: 我真的很难理解Django的内容类型的概念。感觉非常骇人听闻,并且最终与Python趋向于做事相反。话虽如此,如果我要使用Django,则必须在框架范围内进行工作。 因此,我来​​这里想知道是否有人可以给出有关内容类型如何工作以及如何实现的实际示例。我评论过的几乎所有教程(大部分在博客上)都无法真正涵盖这个概念。他们似乎从Django文档遗漏的地方接手(似乎无处可去)。 问题答案: 因

  • 有什么方法可以添加滚动条以添加(已弃用)。Javadoc没有提到任何关于Jetpack撰写中的滚动条的内容。 在Jetpack Compose中有可能做到吗?还是不支持滚动条?

  • 这件事让我毛骨悚然。我正在使用CodeIgniters分页库,现在它总是作为当前页面粘贴在第1页上。我已经检查了一大堆StackOverflow问题,我没有和其他人一样的问题。 这是我的url结构 这是我控制器里的分页代码 当我在视图中呼应分页时,它看起来像是工作的。每个链接上的网址都是正确的,一切看起来都很好。最后一个链接显示最后一个页面url,当前页面为1。然而,当我点击第2页或分页中的任何其

  • 通常,当我们选中Project->build automatically时,它将在项目源代码发生更改时生成,但当我选中该选项时,我的eclipse总是在生成--大约每隔2或3秒--无论它是否发生更改。我可以看到从右下方的状态栏显示“构建工作区...”。 附注:我在Win7上,内存为8GB