简体   繁体   中英

How I can remove the unnecessary top padding of the Navigation view?

There's an unnecessary top padding between the header and the first item shown in this picture.

在此处输入图片说明

How it can be removed?

you can find the source code here: https://github.com/chrisbanes/cheesesquare

You can override predefined dimensions at your dimens.xml as;

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

Other possible values are here: https://github.com/android/platform_frameworks_support/blob/master/design/res/values/dimens.xml

You should read the Ian's answer. The NavigationView follows the Material guidelines and you should not break these specs.

However, currently , you can override this value in your project.

Just add to your dimens.xml :

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

Warning:

  • in the future the Android Team can change this value!
  • the same value is applied to each separator in the list

The NavigationView uses a LinearLayout as header view. You can see this layout in the source code:

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

NavigationView seeks to match the material design specs for the navigation drawer which state an 8dp space between content areas. Generally there are no ways to override NavigationView to specifically break the specifications.

材料设计规范

非常简单的步骤:将以下属性添加到您的基本应用程序主题 (stylename=AppTheme) Style.xml :

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

This is answered here Gabriele's answer

Just add to your dimens.xml :

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM