Android4.4
Android4.4需要修改两处代码,一个是Activity,一个是Layout文件。
Activity如下:
WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();
localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);
或者
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS 开启透明状态栏标志。
设置这个值后,显示的内容会与状态栏重叠。状态栏背景变成显示内容的背景。
Layout如下:
android:fitsSystemWindows="true"
android:fitsSystemWindows让view根据系统窗口(如状态栏)来调整自己布局,true会调整padding来空出系统窗口的显示。
设置这个值后,显示的内容就不会与状态栏重叠了。
Android5.0
Android5.0直接提供了修改状态栏的API,直接用即可。
getWindow().setStatusBarColor(getResources().getColor(android.R.color.transparent));