【发布时间】: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>,但状态栏不透明(如上图所示)
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