# StatusBarHostLayout **Repository Path**: Wade_guo/status-bar-host-layout ## Basic Information - **Project Name**: StatusBarHostLayout - **Description**: 使用宿主的方案管理Activity的状态栏与导航栏 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-10-13 - **Last Updated**: 2022-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## StatusBar Host Layout 使用宿主侵入的方案,替换掉原有的Activity布局,实现自己的状态栏与导航栏。即可通过View的方式来管理状态栏与导航栏了。 支持DataBinding/ViewBinding ,不支持Butterknife的View绑定。 支持Android版本5.0+ 常用的一些方法: ```kotlin //修改状态栏背景颜色-红色 fun btn01(view: View) { hostLayout.setStatusBarBackground(Color.RED) } //修改状态栏背景颜色-恢复 fun btn02(view: View) { hostLayout.setStatusBarBackground(resources.getColor(R.color.teal_200)) } //修改状态栏文本颜色-白色 fun btn03(view: View) { hostLayout.setStatusBarWhiteText() } //修改状态栏文本颜色-黑色 fun btn04(view: View) { hostLayout.setStatusBarBlackText() } //修改导航栏的背景颜色 - 黑色 fun btn05(view: View) { hostLayout.setNavigationBarBackground(resources.getColor(com.newki.circle_round.R.color.normal_navigation_color)) } //修改导航栏的背景颜色 - 恢复 fun btn06(view: View) { hostLayout.setNavigationBarBackground(resources.getColor(R.color.teal_200)) } //修改导航栏的图标颜色 - 深色 fun btn07(view: View) { hostLayout.setNavigationBarIconBlack() } //修改导航栏的图标颜色 - 亮色 fun btn08(view: View) { hostLayout.setNavigationBarIconWhite() } //启用状态栏沉浸式 fun btn09(view: View) { hostLayout.setStatusBarImmersive(true, 0) } //取消状态栏沉浸式 fun btn10(view: View) { hostLayout.setStatusBarImmersive(false, resources.getColor(R.color.teal_200)) } //启用导航栏沉浸式 fun btn11(view: View) { hostLayout.setNavigationBarImmersive(true, 0) } //取消导航栏沉浸式 fun btn12(view: View) { hostLayout.setNavigationBarImmersive(false, resources.getColor(R.color.teal_200)) } //设置状态栏图片背景 fun btn13(view: View) { hostLayout.setStatusBarBackground(resources.getDrawable(R.drawable.statusbar_image_1)) hostLayout.setNavigationBarBackground(resources.getDrawable(R.drawable.statusbar_image_1)) } //取消导航栏图片背景 fun btn14(view: View) { hostLayout.setStatusBarBackground(resources.getColor(R.color.teal_200)) hostLayout.setNavigationBarBackground(resources.getColor(R.color.teal_200)) } ``` 效果图: 滚动的效果: ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/16ea10d3f48443d4a3cdb1d23fae4e97~tplv-k3u1fbpfcp-zoom-1.image) 状态栏的操作: ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bc4738566de14d22b8081ae298321d63~tplv-k3u1fbpfcp-zoom-1.image) ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8f0611d4a5234d7690db67643fc56c46~tplv-k3u1fbpfcp-zoom-1.image) 导航栏的操作: ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/43b78197146a4961ae6855456beeeb94~tplv-k3u1fbpfcp-zoom-1.image) ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/807b5b83c4844ba98cbf9f80673ce498~tplv-k3u1fbpfcp-zoom-1.image) 状态栏与导航栏的沉浸式处理 ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8107efd645ff460cb78261e15e31e098~tplv-k3u1fbpfcp-zoom-1.image) ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ea29d92b49ab480e8ccaa3bd40edc4b6~tplv-k3u1fbpfcp-zoom-1.image) 状态栏与导航栏图片背景的设置 ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bab35b8b6a884e968e3dc7c3fe00f9d1~tplv-k3u1fbpfcp-zoom-1.image) 更多的效果可以运行代码尝试, 具体的实现可以参考我的博客: https://juejin.cn/post/7138312796474703909