废话不多说,上代码,粘贴进去就能用!
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = this.getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(this.getResources().getColor(com.clubank.common.R.color.white)); //设置状态栏背景颜色 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ View decorView = getWindow().getDecorView(); if(decorView != null){ //白色背景要设置暗色系的状态栏图标 int vis = decorView.getSystemUiVisibility(); vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; decorView.setSystemUiVisibility(vis); } } }
这里有个小问题,如果你设置了头布局的话 头布局可能会被状态栏遮挡一点,需要在布局文件的根布局中设置 :
android:fitsSystemWindows="true"
over!
顺便上一张实现后的效果: