代码之家  ›  专栏  ›  技术社区  ›  Shahood ul Hassan babadaba

如何实现一个带有透明状态栏的导航抽屉,每个片段都有单独的工具栏?

  •  0
  • Shahood ul Hassan babadaba  · 技术社区  · 6 年前

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

    问题如下:

    第19版:

    1) 工具栏的一部分隐藏在每个片段的状态栏后面,尽管我使用了 android:fitsSystemWindows="true" 抽屉里的活动_main.xml文件: v19 toolbar behind status bar

    2) 状态栏不是透明的(如上图所示),尽管我使用了 <item name="android:windowTranslucentStatus">true</item> 在v19中\样式.xml

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

    V21+:

    1) 状态栏不是透明的,尽管我在v21中使用了以下内容\样式.xml. 它是灰色的,我还没有定义:

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

    v21 non-transparent status bar

    但是,导航抽屉正绘制在状态栏的后面: v21 with open drawer

    因此,最终,我无法在两个设备上获得相同的外观,也无法在其中一个设备上获得透明状态,导航抽屉没有在状态栏后面绘制。

    请仔细看看,并建议我如何可以解决这个相当恼人的问题。我读了很多材料,包括相关的SO问题,但无法解决这个问题。最后,我试着按照上面提到的芝士广场的例子,但我仍然没有得到我想要的。是的,我发现我的示例和cheesesquare之间唯一的主要区别是它只创建了一个工具栏,而且在主活动中也是这样。

    任何帮助都是很大的帮助!

    1 回复  |  直到 6 年前
        1
  •  0
  •   Parth Patel Praful Argiddi    6 年前

    从这里您可以到达导航抽屉活动。由Android工作室提供。

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

    Create Navigation Drawer Activity

    为你的活动命名。

    Give Name to an Activity

    将创建导航抽屉。