【笔记】沉浸式状态栏(修改状态栏背景颜色)

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));

你可能感兴趣的:(【笔记】沉浸式状态栏(修改状态栏背景颜色))