You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose Android应用底部黑条问题:无法全屏使用屏幕高度

解决Jetpack Compose应用底部黑条问题

底部出现黑条通常是因为布局未正确适配系统窗口Insets(如导航栏区域),结合你使用的Accompanist 0.30.1版本,按以下步骤处理:

1. 启用全屏布局

在MainActivity的onCreate方法中,设置让布局延伸至系统栏区域:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // 允许布局覆盖系统导航栏和状态栏
    WindowCompat.setDecorFitsSystemWindows(window, false)
    
    setContent {
        // 原有Compose代码
    }
}

也可以用Accompanist的EdgeToEdge组件替代上述WindowCompat代码:

setContent {
    EdgeToEdge()
    AppTheme {
        // 原有Compose代码
    }
}

2. 添加导航栏内边距

给内容容器添加导航栏内边距,确保内容不被遮挡的同时消除黑条,修改现有代码如下:

setContent {
    EdgeToEdge()
    AppTheme {
        Box(modifier = Modifier.fillMaxSize()) {
            AppBackground(modifier = Modifier.fillMaxSize()) {
                App(modifier = Modifier.navigationBarsPadding()) {
                    AppNavHost(
                        navController = navController,
                        sharedPreferenceManager = sharedPreferenceManager,
                    )
                }
            }
        }
    }
}

3. 确认依赖正确性

检查build.gradle中是否引入了Accompanist Insets库:

implementation "com.google.accompanist:accompanist-insets:0.30.1"

另外确保自定义的AppBackground组件使用Modifier.fillMaxSize(),无固定高度限制,保证能铺满整个屏幕。

内容的提问来源于stack exchange,提问作者bimal chawla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 07:23:27