沉浸式系统状态栏 会直接去掉系统状态栏的 高度式23dp 必须放在 setContentView之前
Window window = getWindow();
int color_bg = Color.parseColor("#3D9FFF");
// 有些情况下需要先清除透明flag
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.setStatusBarColor(color_bg);
window.setNavigationBarColor(color_bg);
// 状态栏字体设置为深色,SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 为SDK23增加
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
} else {
window.requestFeature(Window.FEATURE_NO_TITLE);
}