1.Activity,无toolbar
1.1 4.4
1.1.1 设置状态栏颜色
var decorView = window.decorView
var option = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
decorView.systemUiVisibility = option
标题栏和状态栏会重叠
1.在标题栏的上方添加一个大小和 StatusBar 大小一样假的状态栏 View,View 的 BackgroundColor 可以自己设置成标题栏一样的颜色
decorView.addView(statusBarView);
2.给decorView设置paddingTop
decorView.setPadding(0, mBarConfig.getStatusBarHeight(), 0, 0)
1.1.2 图片伸入状态栏
var decorView = window.decorView
var option = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
decorView.systemUiVisibility = option
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS在4.4状态栏顶部是有一个黑色阴影渐变,无法改变
1.1.3 全屏
var option = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_FULLSCREEN
状态栏导航栏收缩,是真全屏效果,
点击页面的任何位置或下拉状态栏,状态栏导航栏重新显示,不自动收回
var option = View.SYSTEM_UI_FLAG_FULLSCREEN or
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_IMMERSIVE
只有下拉状态栏,状态栏导航栏重新显示,不自动收回,状态栏是主题颜色,导航栏黑色
var option = View.SYSTEM_UI_FLAG_FULLSCREEN or
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_IMMERSIVE
只有下拉状态栏,状态栏导航栏重新显示,不自动收回,状态栏是主题颜色,导航栏黑色
var option = View.SYSTEM_UI_FLAG_FULLSCREEN or
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
只有下拉状态栏,状态栏导航栏重新显示,自动收回,状态栏导航栏透明且有黑色阴影
1.2 5.0
1.2.1 设置状态栏颜色
var decorView = window.decorView
var option = WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
window.statusBarColor = Color.RED
decorView.systemUiVisibility = option
WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS是5.0新加的api
1.2.2 图片伸入状态栏
var decorView = window.decorView
var option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
window.statusBarColor = Color.TRANSPARENT
window.navigationBarColor = Color.TRANSPARENT
decorView.systemUiVisibility = option
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION不会让状态栏导航栏隐藏,顶部view会你伸入状态栏,底部view,会伸入导航栏,这时状态栏是主题色,导航栏是黑色,只有window.statusBarColor = Color.TRANSPARENT,window.navigationBarColor = Color.TRANSPARENT时,才能显示顶部底部被遮挡的部分
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION不会让状态栏导航栏隐藏,只有View.SYSTEM_UI_FLAG_FULLSCREEN,View.SYSTEM_UI_FLAG_HIDE_NAVIGATION才会让状态栏导航栏隐藏,但还是会让用户下拉出状态栏,上拉出导航栏
1.3 6.0
View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 可以设置状态栏字色和图标浅黑色。
网友评论