6

我正在尝试实现此处显示的效果:尼克和男孩们的http://www.youtube.com/watch?v=6QHkv-bSlds&t=15m48s。我可以覆盖操作栏,但无法弄清楚如何将其扩展到状态栏。我还想知道他们如何管理导航栏后面的透明黑色背景(但这并不重要)。

任何帮助/建议将不胜感激,因为我目前不知道这是如何完成的(并且开始担心它可能只是一个图像而不是实际的实现)。

编辑:我知道如何使酒吧完全透明(这是简单的部分)!我不知道如何扩展操作栏背景以显示在现在半透明的状态栏后面

4

3 回答 3

13

我有同样的问题,发现了这个库:https ://github.com/jgilfelt/SystemBarTint

看看第 300 行: https ://github.com/jgilfelt/SystemBarTint/blob/master/library/src/com/readystatesoftware/systembartint/SystemBarTintManager.java

setupStatusBarView()为窗户的装饰添加一个视图。这允许您稍后为此视图设置颜色/可绘制对象。

如果使用SystemBarTint库,以下将允许您将状态栏强制为指定颜色,然后您可以将其与操作栏的背景匹配:

SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setStatusBarTintColor(Color.parseColor("#DD000000"));

在这种情况下,您可以将操作栏的背景设置为:#DD000000

于 2013-12-25T10:10:16.767 回答
3

Android 4.4 API中所述:

您现在可以使用新主题Theme.Holo.NoActionBar.TranslucentDecorTheme.Holo.Light.NoActionBar.TranslucentDecor使系统栏部分半透明。通过启用半透明系统栏,您的布局将填充系统栏后面的区域,因此您还必须为您的布局中不应被系统栏覆盖的部分启用fitSystemWindows 。

如果您正在创建自定义主题,请将这些主题之一设置为父主题或在您的主题中包含windowTranslucentNavigationwindowTranslucentStatus样式属性。

在您的情况下(您需要 ActionBar),第二个选项 - 包括主题中的两个新属性 - 将为您提供半透明的导航和状态栏。

于 2013-11-05T21:24:48.510 回答
1

他们正在使用新的半透明系统栏功能(在 Android 4.4 及更高版本上)。

半透明系统条

您现在可以使用新主题 Theme.Holo.NoActionBar.TranslucentDecor 和 Theme.Holo.Light.NoActionBar.TranslucentDecor 使系统栏部分半透明。通过启用半透明系统栏,您的布局将填充系统栏后面的区域,因此您还必须为您的布局中不应被系统栏覆盖的部分启用 fitSystemWindows。

如果您正在创建自定义主题,请将这些主题之一设置为父主题或在您的主题中包含 windowTranslucentNavigation 和 windowTranslucentStatus 样式属性。

于 2013-11-05T21:24:02.670 回答