laobie / StatusBarUtil

A util for setting status bar style on Android App.
http://t.cn/Rq746Kb
Apache License 2.0
8.81k stars 1.72k forks source link

关于沉浸后顶部出现的问题 #101

Closed androidXiaoHao closed 7 years ago

androidXiaoHao commented 7 years ago

又来麻烦您了,要实现这样的功能:我的主页顶部是一个banner广告轮播,我现在要实现一个随着滑动标题栏渐变的效果,类似QQ空间。现在遇到如下图的情况 error

沉浸式代码是这样设置的:StatusBarUtil.setTransparentForImageViewInFragment(getActivity(), rlBackGround); 其中rlBackGround:表示那个渐变的 红色标题栏 。 这样设置后,就出现了上图的情况,如果 StatusBarUtil.setTransparentForImageViewInFragment()方法的第二个参数传广告轮播控件banner的话,就会出现标题栏向上移动覆盖一小部分状态栏了,希望能指点一下,谢谢

laobie commented 7 years ago

你可以看看第二个 needOffsetView 参数具体是干什么的,或者自己手动设置 margin top 值

androidXiaoHao commented 7 years ago

非常感谢你的回答,但是还是没有处理好,这种场景应该是挺常见的,你知道大神在使用的过程中是不是也跟我这一样?现在在使用的时候又发现了另一个问题,不知道是使用的姿势不对还是?贴图出来,希望大神指点下。 就是当我的Fragment中的标题栏不是ToolBar的时候,假如就是一个LinearLayout包裹几个控件作为标题栏时,当我在Fragment中调用StatusBarUtil.setTransparentForImageViewInFragment(getActivity(), llTop);其中:llTop就是标题栏,也就是LinearLayout。当第二个参数传入这个标题栏的view时,这个时候效果就变成这样了,布局文件以及效果图如下图: a12312
a123

其他不做修改,如果Fragment中这样调用:StatusBarUtil.setTransparentForImageViewInFragment(getActivity(), null); 即,第二个参数传入null时,就有沉浸效果了,但是这个标题栏就跟沉浸图片的效果一样了,填充到状态栏里了,效果图如下: a123123

laobie commented 7 years ago

你需要将你的 IamgeView 和你的标题栏分开 而不是放在一起

laobie commented 7 years ago

你点进去看下源码 源码不多的

androidXiaoHao commented 7 years ago

嗯,没有用到ImageView啊,这个标题栏就是一个线性布局,红色是我设置的背景颜色

laobie commented 7 years ago

那你调用 setColor 啊。。。。。 没有 ImageView 你调用 ForImageViewInFragment????