我正在努力达到这里显示的效果:尼克和男孩们http://www.youtube.com/watch?v=6QHkv-bSlds&t=15m48s。我可以让操作栏重叠,但无法弄清楚如何将其扩展到状态栏。我还想知道他们如何管理导航栏后面的透明黑色背景(但这不是那么重要)。
任何帮助/建议都会非常感激,因为我目前不知道这是怎么做的(我开始担心它可能只是一个图像而不是一个实际的实现)。
编辑:我知道如何让酒吧完全透明(这就是简单的部分)!我不知道如何扩展操作栏背景以显示在现在的transluscent状态栏
后面答案 0 :(得分:13)
我有同样的问题并找到了这个库:https://github.com/jgilfelt/SystemBarTint
setupStatusBarView()
为窗口的装饰添加视图。这允许您稍后将颜色/可绘制设置为此视图。
如果使用 SystemBarTint 库,以下内容将允许您将状态栏强制为指定的颜色,然后您可以将其与操作栏的背景匹配:
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setStatusBarTintColor(Color.parseColor("#DD000000"));
在这种情况下,您可以将操作栏的背景设置为:#DD000000
答案 1 :(得分:3)
现在,您可以使用新主题Theme.Holo.NoActionBar.TranslucentDecor和Theme.Holo.Light.NoActionBar.TranslucentDecor使系统栏部分半透明。通过启用半透明系统栏,您的布局将填充系统栏后面的区域,因此您还必须为布局中不应被系统栏覆盖的部分启用fitsSystemWindows。
如果您要创建自定义主题,请将其中一个主题设置为父主题,或在主题中包含windowTranslucentNavigation和windowTranslucentStatus样式属性。
在您的情况下(您想要ActionBar的地方),第二个选项 - 包括主题中的两个新属性 - 将为您提供半透明的导航和状态栏。
答案 2 :(得分:1)
他们正在使用新的Translucent system bars功能(在Android 4.4及更高版本上)。
半透明系统栏
现在,您可以使用new来使系统条部分半透明 主题,Theme.Holo.NoActionBar.TranslucentDecor和 Theme.Holo.Light.NoActionBar.TranslucentDecor。通过启用半透明 系统栏,你的布局将填充系统栏后面的区域,所以 您还必须为布局的一部分启用fitsSystemWindows 不应该由系统栏覆盖。
如果您要创建自定义主题,请将其中一个主题设置为 父主题或包含windowTranslucentNavigation和 您主题中的windowTranslucentStatus样式属性。