gpt4 book ai didi

Android NavigationView( Material 支持库)无法与状态栏正确交互

转载 作者:IT老高 更新时间:2023-10-28 23:23:44 25 4
gpt4 key购买 nike

我正在学习 here 中的示例集成新的 Material 设计支持库的NavigationView进入我的应用程序。

我的总体布局如下所示:

activity.xml

<android.support.v4.widget.DrawerLayout
android:fitsSystemWindows="true">

<!-- main content -->

<android.support.design.widget.NavigationView
.. />

</android.support.v4.widget.DrawerLayout>

主题.xml

<style name="MyTheme" extends "Theme.AppCompat.Light.NoActionBar">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>

MyActivity.java

onCreate(..) {
..
// This color can be different depending on some conditions.
DrawerLayout.setStatusBarBackground(color);
}

但是,我不断得到一个灰色的状态栏,并且 NavigationView 没有在状态栏下绘制。我认为灰色状态栏是因为我没有在主题中定义自定义 colorPrimaryDark attr。但是,我会假设 DrawerLayout.setStatusBarBackground 会覆盖并设置状态栏颜色。我在新的 NavigationView 上找不到太多文档。有人有什么想法吗?

最佳答案

在 values-v21/themes.xml 中添加 API 21+ 的样式:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
</resources>

在 activity.xml 中,尝试在 NavigationView 上设置 android:fitsSystemWindows="true"(除了 DrawerLayout)。

关于Android NavigationView( Material 支持库)无法与状态栏正确交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com