Как я могу удалить ненужное верхнее дополнение вида навигации?

Там есть ненужное верхнее дополнение между заголовком и первым элементом, показанным на этом рисунке.

enter image description here

Как его можно удалить?

вы можете найти исходный код здесь: https://github.com/chrisbanes/cheesesquare

Ответ 1

NavigationView стремится соответствовать спецификациям материалов спецификаций для переносного ящика навигации, которые определяют пространство 8dp между областями содержимого. Как правило, нет способов переопределить NavigationView, чтобы разбить спецификации.

material design specs

Ответ 2

Вы можете переопределить предопределенные измерения на dimens.xml как:

<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>

Другие возможные значения: https://github.com/android/platform_frameworks_support/blob/master/design/res/values/dimens.xml

Ответ 3

Вы должны прочитать ответ Иана. NavigationView следует принципам Material, и вы не должны нарушать эти спецификации.

Однако в настоящее время вы можете переопределить это значение в своем проекте.

Просто добавьте в свой dimens.xml:

<dimen name="design_navigation_separator_vertical_padding">0dp</dimen>

Предупреждение:

  • в будущем команда 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" />

Ответ 4

очень простой шаг: добавьте следующий атрибут в базовую тему приложения (stylename = AppTheme) Style.xml:

        <item name="listPreferredItemHeightSmall">18dp</item>

Ответ 5

Здесь ответили Габриэле ответ

Просто добавьте в свой размер .xml:

<dimen name="design_navigation_separator_vertical_padding">0dp</dimen>