在setContentView(R.layout.activity_main)下面调用这个方法即可解决问题
public void initStatusBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
// 获取状态栏高度
int statusBarHeight = getResources().getDimensionPixelSize(resourceId);
View rectView = new View(this);
// 绘制一个和状态栏一样高的矩形,并添加到视图中
LinearLayout.LayoutParams params
= new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
rectView.setLayoutParams(params);
//设置状态栏颜色
rectView.setBackgroundColor(Color.parseColor("#000000"));
// 添加矩形View到布局中
ViewGroup decorView = (ViewGroup) getWindow().getDecorView();
decorView.addView(rectView);
ViewGroup rootView = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);
rootView.setFitsSystemWindows(true);
rootView.setClipToPadding(true);
}
}