一个Activity管理多个Fragment,其中三个Fragment状态栏颜色不同,另外一个状态栏透明,顶部图片上顶
开始使用修改状态栏颜色的方法时发现一旦显示了状态栏透明的fragment后,切换到其他fragment顶部view都会上移,考虑到透明状态栏设置了systemuivisibility,在切换到其他fragment时进行清除,但引发了其他问题,切换时,整体的界面发生抖动
最后采用了手动添加顶部view的方式解决
首先,activity实现沉浸式状态栏,在其布局中顶部添加一个view,设置为状态栏高度,然后在activity中编写两个设置view显示隐藏和设置view颜色的方法,在需要状态栏设置颜色的fragment中调用activity的方法设置view显示和它的颜色,在需要透明的位置,调用activity方法设置view隐藏即可
修改状态栏颜色的方法如果可以解决抖动问题的话其实是比较方便好用的,大家有更好的办法欢迎交流
参考:https://blog.youkuaiyun.com/wangxp423/article/details/79601742