一、核心原理关键点让系统状态栏背景变成透明调整状态栏文字颜色确保和背景区分开让页面内容可以延伸到状态栏下方二、实现步骤1、在 Activity 代码中设置WindowCompat.setDecorFitsSystemWindows(window, false)页面内容可以延伸到屏幕最顶端和状态栏重叠。statusBarColor让状态栏背景完全透明。isAppearanceLightStatusBars适配浅色背景状态栏文字黑色。isStatusBarContrastEnforced 关闭状态栏遮罩否则状态栏会是半透明不是全透明。...classMainActivity:AppCompatActivity(){overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)setStatusBarTransparent(window)}/** * 设置状态栏透明文字黑色覆盖在页面内容上面 */funsetStatusBarTransparent(window:Window){// 布局可以延伸到屏幕最顶端WindowCompat.setDecorFitsSystemWindows(window,false)// 把状态栏背景设为透明if(Build.VERSION.SDK_INTBuild.VERSION_CODES.LOLLIPOP){window.statusBarColorColor.TRANSPARENT}// 关闭状态栏遮罩否则状态栏会是半透明不是全透明if(Build.VERSION.SDK_INTBuild.VERSION_CODES.Q){window.isStatusBarContrastEnforcedfalse}// 页面布局可绘制到全屏不受状态栏、导航栏高度限制window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)// 适配浅色背景状态栏文字黑色valinsetsControllerWindowCompat.getInsetsController(window,window.decorView)insetsController.isAppearanceLightStatusBarstrue}}2、XML 布局中设置 fitsSystemWindows可选设置 fitsSystemWindows 为 false页面内容可以顶到屏幕最顶部和状态栏重叠。效果类似于代码实现WindowCompat.setDecorFitsSystemWindows(window, false)。androidx.constraintlayout.widget.ConstraintLayout android:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:fitsSystemWindowsfalse!--设为false让内容延伸到状态栏下--!--你的页面背景和内容比如渐变背景、首页标题--/androidx.constraintlayout.widget.ConstraintLayout