Android O状态栏

状态栏背景颜色

1.在主题style中设置<item name="android:windowTranslucentStatus">true</item>属性

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

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

状态栏图标的颜色

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

1.在主题style中设置<item name="android:windowLightStatusBar">true</item>属性,此属性的意思是状态栏底部是浅色light内容,因此状态栏图标设置是黑色,反正是白色。

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

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


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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容