android - 底部导航栏与 Jetpack Compose 中的屏幕内容重叠

标签 android android-jetpack android-jetpack-compose

我有一个 BottomNavBarbottomBar 内部调用的 Scaffold .
每个屏幕都包含一个 LazyColumn显示一堆图像。
出于某种原因,当我完成滚动时,BottomNavBar与项目列表的下部重叠。
我怎样才能解决这个问题?
enter image description here
这里是MainActivity的设置内容

SetContent{
    Scaffold(
        topBar = {
            TopAppBar(
                title = { Text(text = "tartufozon") },
                actions = {
                    IconButton(onClick = { Timber.d("Mail clicked") }) {
                        Icon(Icons.Default.Email, contentDescription = null)
                    }
                }
            )
        },
        bottomBar = {
            BottomNavBar(navController = navController)
        }
    ) {
    BottomNavScreensController(navController = navController)
    }
}

最佳答案

根据 API definition for Scaffold ,您的内部内容(您的 BottomNavScreensController 中的尾随 lambda)被赋予 PaddingValues 为您的顶部应用栏、底部栏等提供适量填充的对象。
现在,您根本没有引用该填充,因此,您的内容没有被填充。这就是导致重叠的原因。
您可以添加 Box围绕您的BottomNavScreensController应用填充,或将填充直接传递到您的 BottomNavScreensController以便每个单独的屏幕都可以正确应用填充;任何一种解决方案都有效。

Scaffold(
    topBar = {
      //
    },
    bottomBar = {
        //
    }
    ) { innerPadding ->
        // Apply the padding globally to the whole BottomNavScreensController
        Box(modifier = Modifier.padding(innerPadding)) {
            BottomNavScreensController(navController = navController)
        }
    }
}

关于android - 底部导航栏与 Jetpack Compose 中的屏幕内容重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66573601/

相关文章:

SVN Checkout 后的 Android 构建路径

android - java.lang.NullPointerException : Attempt to invoke virtual method 'void java.util.Calendar.setTimeInMillis(long)' on a null object reference 异常

android - 模型中列表的值已更新,但未反射(reflect)在可组合函数上

android-jetpack - onItemAtEndLoaded 在 onZeroItemsLoaded 之后立即调用

android - 如何从 Jetpack Compose TextField 关闭虚拟键盘?

android - Ionic2 - 无法在给定路径的 UI 上显示本地镜像

android - 重新创建 Activity 时出现生命周期异常

Android jetpack 生物识别 DeviceCredentialHandlerActivity 导出=true 真的需要吗?

android-layout - 将可组合项与 Jetpack 中另一个可组合项的底部对齐?

android - JetPack Compose - 定义 "complex"布局的最佳实践