Reputation: 641
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
Upvotes: 31
Views: 20449
Reputation: 1
This is answered here Gabriele's answer
Just add to your dimens.xml:
<dimen name="design_navigation_separator_vertical_padding">0dp</dimen>
Upvotes: 0
Reputation: 638
very simple step : add the following attribute to your base application theme (stylename=AppTheme) Style.xml :
<item name="listPreferredItemHeightSmall">18dp</item>
Upvotes: 1
Reputation: 741
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
Upvotes: 58
Reputation: 364451
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:
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" />
Upvotes: 31
Reputation: 200030
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.
Upvotes: 16