如何删除导航视图中不必要的顶部填充?

Ahm*_*aat 29 android android-support-library material-design android-design-library android-navigationview

标题和此图片中显示的第一个项目之间存在不必要的顶部填充.

在此输入图像描述

如何删除它?

你可以在这里找到源代码:https: //github.com/chrisbanes/cheesesquare

Uğu*_*ğlu 54

您可以在dimens.xmlas 处覆盖预定义的维度;

<dimen name="design_navigation_padding_top_default" tools:override="true">0dp</dimen>
<dimen name="design_navigation_separator_vertical_padding" tools:override="true">0dp</dimen>
<dimen name="design_navigation_padding_bottom" tools:override="true">0dp</dimen>
Run Code Online (Sandbox Code Playgroud)

其他可能的值如下:https://github.com/android/platform_frameworks_support/blob/master/design/res/values/dimens.xml


Gab*_*tti 29

你应该阅读伊恩的答案.NavigationView遵循材料指南,您不应该破坏这些规范.

但是,目前,您可以在项目中覆盖此值.

只需添加到您的dimens.xml:

<dimen name="design_navigation_separator_vertical_padding">0dp</dimen>
Run Code Online (Sandbox Code Playgroud)

警告:

  • 在未来,Android团队可以改变这个价值!
  • 相同的值将应用于列表中的每个分隔符

NavigationView使用LinearLayout作为头部图.您可以在源代码中看到此布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical"
      android:paddingBottom="@dimen/design_navigation_separator_vertical_padding" />
Run Code Online (Sandbox Code Playgroud)


ian*_*ake 16

NavigationView寻求匹配导航抽屉的材料设计规格,其在内容区域之间陈述8dp空间.通常,没有办法覆盖NavigationView以明确违反规范.

材料设计规格