public static void immersive(Window window){
if (Build.VERSION.SDK_INT
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
int visibility = window.getDecorView().getSystemUiVisibility();
visibility |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
visibility |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
window.getDecorView().setSystemUiVisibility(visibility);
}else {
window.addFlags( WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
}
/**
* 获取状态栏高度
* @param context
* @return
*/
public static int getStatusBarHeight(Context context) {
int height =0;
try {
Resources resources = context.getResources();
int resourceId = resources.getIdentifier("status_bar_height","dimen","android");
height = resources.getDimensionPixelSize(resourceId);
}catch (Exception e){
e.printStackTrace();
}
return height;
}
style 选择:
<style name="AppTheme.NoActionBar.Reward" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowTranslucentStatus">true</item>
</style>
//设置状态的高度
view.findViewById(R.id.bar).getLayoutParams().height = ToolStatusBar.getStatusBarHeight(getContext());
//设置状态栏的颜色
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}