Android O状态栏

状态栏背景颜色

1.在主题style中设置true属性

此时布局会布局到状态栏底部,同时为了可见性,decoreView会给状态栏加半透明背景。

2.通过view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN),此时布局到状态底部,但是状态栏不会有半透明背景。

状态栏图标的颜色

3. 通过window. setStatusBarColor()动态设置状态栏背景颜色。

1.在主题style中设置true属性,此属性的意思是状态栏底部是浅色light内容,因此状态栏图标设置是黑色,反正是白色。

2.通过view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR),可以时时改变状态栏的图标的颜色,与style设置相同。

设置flag是黑色,反之白色,可以通过此方式适配不同的界面显示。


状态栏透明适配状态栏图标颜色

实际使用过程中发现,如果应用是android:windowTranslucentStatus设置状态栏透明时,此时再通过android:windowLightStatusBar设置状态栏图标颜色没有作用。所以此时可以采用代码设置falg的方式装状态栏透明,通过android:windowLightStatusBar设置状态栏图标颜色,具体实现如下:

你可能感兴趣的:(Android O状态栏)