【问题标题】:How to implement a navigation drawer with transparent status bar with separate toolbars for each fragment?如何实现带有透明状态栏的导航抽屉,每个片段都有单独的工具栏?
【发布时间】:2018-06-29 11:44:15
【问题描述】:

我正在尝试实现一个带有透明状态栏的导航抽屉。第二个要求是每个片段都有单独的工具栏。第三,这个实现的结果在 v19 和 v21+ 设备上看起来是一样的。 我创建了一个示例应用程序来演示我在这方面面临的问题,可以从this dropbox 链接下载它,以便查看完整的代码。对于这个实现,我从cheesesquare 示例应用程序中获得了帮助,并在网上进行了一些研究后进行了一些修改。

以下是问题:

V19:

1)虽然我在activity_main.xml的DrawerLayout中使用了android:fitsSystemWindows="true",但工具栏的一部分隐藏在每个片段的状态栏后面:

2) 虽然我在 v19\styles.xml 中使用了<item name="android:windowTranslucentStatus">true</item>,但状态栏不透明(如上图所示)

3) 导航抽屉未在状态栏后面绘制:

V21+:

1) 状态栏不透明,虽然我在 v21\styles.xml 中使用了以下内容。它是灰色的,我没有定义:

<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>

但是,导航抽屉正被绘制在状态栏的正后方:

所以,最后,我无法在两台设备上获得相同的外观,也无法在任一设备上获得透明状态,导航抽屉没有在状态栏后面绘制。

请仔细查看并建议我如何解决这个相当烦人的问题。我已经阅读了很多材料,包括相关的 SO 问题,但无法解决这个问题。最后,我尝试按照上面提到的 cheesesquare 示例进行操作,但仍然没有得到我想要的。是的,我能在我的示例和 cheesesquare 之间找到的唯一主要区别是它只创建一个工具栏,并且在主要活动中也是如此。

任何帮助都会有很大帮助!

【问题讨论】:

  • 我建议您使用 Android Studio 提供的模板。然后根据您的要求编辑所有内容。
  • @ParthPatel 是 Android Studio 的模板吗?对不起,但我不知道你的意思。你可以在这里发布一个链接吗?谢谢!

标签: android android-fragments navigation-drawer android-toolbar android-statusbar


【解决方案1】:

从这里您可以访问 Navigation Drawer Activity。由 Android Studio 提供。

请右键单击您的包名。 选择导航抽屉活动选项。 (如下图所示)

为您的活动命名。

您的导航抽屉将被创建。

【讨论】:

  • 问题不是“如何创建导航抽屉”,而是关于状态栏透明度
  • true 把这条线放在样式里
  • @Parth Patel 我已经提到我已经将这条线放在样式中,但仍然无法实现透明度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
相关资源
最近更新 更多