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

如何实现布局延伸至状态栏且不覆盖系统导航栏(无深色背景)

实现布局延伸至透明状态栏但保留底部导航栏内边距

第一步:配置透明状态栏(无深色背景)

在你的App主题(res/values/styles.xml 或针对高版本的values-v21/styles.xml)中添加以下属性,替代android:windowTranslucentStatus:

<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<!-- 可选:根据布局背景色设置状态栏图标颜色,true为浅色图标,false为深色 -->
<item name="android:windowLightStatusBar">true</item>

这个配置能让状态栏完全透明,不会自带半深色背景,同时允许布局延伸到状态栏下方。

第二步:控制布局范围,保留底部导航栏内边距

先调用WindowCompat.setDecorFitsSystemWindows让布局能延伸到状态栏区域,再手动给根布局添加底部导航栏高度的内边距,避免内容被底部导航栏遮挡:

Kotlin 代码示例:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    // 允许布局延伸至系统栏区域
    WindowCompat.setDecorFitsSystemWindows(window, false)

    // 获取底部导航栏的高度
    val navBarHeight = resources.getIdentifier("navigation_bar_height", "dimen", "android").takeIf { it > 0 }
        ?.let { resources.getDimensionPixelSize(it) } ?: 0

    // 给根布局设置底部内边距
    val rootView = findViewById<View>(android.R.id.content)
    rootView.setPadding(0, 0, 0, navBarHeight)
}

Java 代码示例:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // 允许布局延伸至系统栏区域
    WindowCompat.setDecorFitsSystemWindows(getWindow(), false);

    // 获取底部导航栏的高度
    int navBarHeight = 0;
    int resourceId = getResources().getIdentifier("navigation_bar_height", "dimen", "android");
    if (resourceId > 0) {
        navBarHeight = getResources().getDimensionPixelSize(resourceId);
    }

    // 给根布局设置底部内边距
    View rootView = findViewById(android.R.id.content);
    rootView.setPadding(0, 0, 0, navBarHeight);
}

关键说明

  • WindowCompat.setDecorFitsSystemWindows(window, false)会移除系统自动给布局添加的所有内边距,让布局可以铺满全屏;我们手动只补上底部导航栏的内边距,就能实现布局延伸到状态栏下方,但不被底部导航栏覆盖的效果。
  • 不要使用android:windowTranslucentStatus,该属性会强制给状态栏添加半透明深色背景,不符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:54:23