为状态栏设置白底黑字,并且去除状态栏之后布局不会上移,或者改变

为状态栏设置白底黑字,并且去除状态栏之后布局不会上移,或者改变
if (Build.VERSION.SDK_INT>=21){
Window window = getActivity().getWindow();
//取消状态栏透明
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//添加Flag把状态栏设为可绘制模式
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//设置状态栏颜色
window.setStatusBarColor(getResources().getColor(R.color.white));
//设置系统状态栏处于可见状态
//把状态栏的字体改为黑色https://blog.csdn.net/zhangyiminsunshine/article/details/68064926
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
//让view不根据系统窗口来调整自己的布局 //关键
ViewGroup mContentView = (ViewGroup) window.findViewById(Window.ID_ANDROID_CONTENT);
View mChildView = mContentView.getChildAt(0);
if (mChildView != null) {
ViewCompat.setFitsSystemWindows(mChildView, false);
ViewCompat.requestApplyInsets(mChildView);
}
}

转载自Android修改状态栏颜色全方位教程

特别声明一点就是,在安卓5.0系统中,状态栏的字体的颜色不能够修改!!!,安卓api23,也就是6.0开始才有修改状态栏颜色的方法。

猜你喜欢

转载自blog.csdn.net/sinat_25136209/article/details/80257054