0

我的问题是如何使 ActionBar 透明(以及状态栏)?

我在尝试使用 Android 上的 AppBarLayout 和 Toolbars 来实现这一点时遇到了麻烦。

我需要它,因为我想创建一个应用程序,该应用程序具有一个包含 DrawerLayout 的主 Activity 和许多主要是片段的屏幕。然后,在某些屏幕中,ActionBar 和 StatusBar 变得透明(同时仍然有 DrawerLayout 的汉堡按钮)。

我已经尝试更改 AppBarLayout 和工具栏,但它看起来很奇怪......看起来 ActionBar 上有一些奇怪的边距。

appBarLayout.setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent));
toolbar.setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent));

结果如下:

结果

这是在改变颜色/改变它之前:

在此处输入图像描述

当一些片段附加到主 Activity 的主要内容时,关于如何在 ActionBar 上实现透明度的任何想法?

如果你想看一下代码,这里是存储库: Sample Repo

4

1 回答 1

1

好的...

我在这里犯了一个错误...

首先,您需要做的就是删除 content_main.xml 上的填充并将 appBarLayout 的高度设置为 0,然后代码就可以工作了。(如果需要阴影,则需要将其设置回原始值)。

我更新了 repo 来解决这个问题,它现在应该可以工作了。

但是,还有另一种方法可以解决这个问题,使用带有自己的 AppBarLayout/Toolbar 的片段并在显示 Fragment 内部片段时隐藏和显示 MainActivity AppBarLayout。

我将在同一个存储库中创建一个分支来说明我的意思。

如果有更好的解决方案/想法,请回答/评论。

回购这里。

于 2015-11-16T13:20:37.337 回答