Android 如何实现沉浸式状态栏
时间: 2024-02-23 11:00:05 浏览: 26
要实现沉浸式状态栏,需要在 Activity 的 onCreate() 方法中进行如下设置:
1. 设置窗口全屏显示
```
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
```
2. 设置状态栏透明
```
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(Color.TRANSPARENT);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
```
其中,`getWindow().setStatusBarColor(Color.TRANSPARENT)` 用于设置状态栏透明,`getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE)` 则是设置系统 UI 的可见性,使得应用布局可以延伸至状态栏区域。
需要注意的是,这种方式只对 Android 5.0 及以上版本有效。对于 Android 4.4 以下的版本,需要使用第三方库或者自定义布局来实现沉浸式效果。