Android实现沉浸式状态栏及标题栏滑动变色
效果图
1. 沉浸式状态栏的实现沉浸式状态栏实现的方式有很多,可自行百度谷歌
此处沉浸式状态栏实现采用第三方开源库 ImmersionBar,集成方式可直接查看官方文档,这里只做演示
1.1 导入包implementation 'com.gyf.immersionbar:immersionbar:2.3.2-beta01'
1.2 初始化//这里需要注意初始化必须要在setContentView(view)之后执行//解决状态栏与布局顶部重叠,官方文档提供六种方案//ImmersionBar.with(this).titleBar(mToolBar).init() ImmersionBar.with(this).init()
1.3 关闭销毁override fun onDestroy() { super.onDestroy()
ImmersionBar.with(this).destroy()
}
到这,沉浸式状态栏的简单集成就实现了,当然根据布局复杂程度会有各种各样的问题,比如侧滑菜单,Fragment等中沉浸式状态栏的实现,详细可先查看文档
2. 标题栏随着滑动透明度(颜色)变化,目标效果如网易云音乐详情页
思路:标题栏后面添加一个ImageView作为标题栏的背景图片,标题栏为透明,考虑到背景图片为头部图片的底部截取,可将大小设置与头部图片一样