状态栏背景颜色
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设置状态栏图标颜色,具体实现如下:
网友评论