niorgai / StatusBarCompat

Status Bar Utils ---- Change Status Bar Mode Simply
http://niorgai.github.io/2016/03/20/Android-transulcent-status-bar/
MIT License
2.16k stars 349 forks source link

状态栏 5.0异常 #7

Closed WengHaobin closed 8 years ago

WengHaobin commented 8 years ago

加了 StatusBarCompat.translucentStatusBar(activity) 之后,在4.4+完美显示,但是在5.0上状态栏是灰色的,不是黑色的,也不是透明的 布局使用了 CoordinatorLayout AppBarLayout CollapsingToolbarLayout Toolbar

niorgai commented 8 years ago

可以说下你的手机型号和系统版本吗

WengHaobin commented 8 years ago

nexus5 系统5.0.1

niorgai commented 8 years ago

不好意思忘了更新说明。。5.0上还没想好怎么适配CollapsingToolbarLayout。。原生的方式在我所介绍的两种模式之间切换。。比单一模式好看多了

WengHaobin commented 8 years ago

原生的方式在我所介绍的两种模式之间切换?是什么意思呢?就是有方法解决吗?

niorgai commented 8 years ago

我在博客里写到的方式是用 "着色模式" 或 "全屏模式" 来兼容状态栏,但是 CollapsingToolbarLayout 随着滑动距离在两种模式之间切换

WengHaobin commented 8 years ago

不对呀 我的CollapsingToolbarLayout 是用了兼容库的 所以在4.4上面也是可以的,那为什么去到5.0就不行了呢?

niorgai commented 8 years ago

因为 CollapsingToolbarLayout 在 5.0 上有针对 fitsSystemWindow 来优化, AppBarLayout 在展开的时候图片显示是可以撑到状态栏的(我说的全屏模式), 在收缩的时候 ToolBar 是没有撑到状态栏的(我说的着色模式)..我还没想好怎么用这个库来适配这两种状态的切换..

WengHaobin commented 8 years ago

明白了 期待你的实现

niorgai commented 8 years ago

感谢支持~我在 App 里面是 5.0 一下系统才调用适配方法的~你也可以这么做

WengHaobin commented 8 years ago

恩 我正准备这样做 5.0以上可能要暂时寻求别的办法解决

niorgai commented 8 years ago

其实5.0上面只需要在 style 里面设置了 colorPrimaryDark 就可以了啊

WengHaobin commented 8 years ago

我的是图片…所以需要透明状态栏

niorgai commented 8 years ago

....但是 CollapsingToolbarLayoutAppBarLayout 展开的时候不就是透明的吗

WengHaobin commented 8 years ago

我那个不是常规布局 产品需求略坑 我都准备要重写布局了

niorgai commented 8 years ago

......好吧..

niorgai commented 8 years ago

@WengHaobin 你好 可以再描述下你想要的效果吗

WengHaobin commented 8 years ago

我想要的效果就是5.0的状态栏透明 —.—

niorgai commented 8 years ago

怎么叫透明啊=.= 只是状态栏那个遮罩颜色不要?

WengHaobin commented 8 years ago

恩 因为我的图片延伸到状态栏 所以是整个要透明的

niorgai commented 8 years ago

5.0 上试试这段代码..不知道我理解对了没有..

Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(Color.parseColor("#00000000"));
WengHaobin commented 8 years ago

我试试 ^_^

WengHaobin commented 8 years ago

额 不起作用 估计我的布局有问题 等我重写好布局再试试

niorgai commented 8 years ago

好的 有需求再聊哈

zgnckzn commented 8 years ago

我的布局与楼主一样 加了 StatusBarCompat.translucentStatusBar(activity) 之后,在4.4+完美显示,但是在5.0上状态栏是灰色的,不是黑色的,也不是透明的 布局使用了 CoordinatorLayout AppBarLayout CollapsingToolbarLayout Toolbar

想实现的效果是能让Toolbar上移到状态栏,多谢

niorgai commented 8 years ago

@zgnckzn 不是很懂额..如果 Toolbar 移动到状态栏了,显示不就有问题了吗

YumikoAzu commented 8 years ago

看看这个 http://blog.csdn.net/u013260551/article/details/51150336