この図に示されているヘッダーと最初のアイテムの間には、不要な上部パディングがあります。
どのように削除できますか?
ソースコードは次の場所にあります。 https://github.com/chrisbanes/cheesesquare
NavigationView
は、ナビゲーション領域のマテリアルデザイン specs に一致しようとします。通常、NavigationView
をオーバーライドして仕様を明確に破る方法はありません。
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
イアンの答えを読んでください。 NavigationViewはマテリアルガイドラインに従っています。これらの仕様を破らないでください。
ただし、現在、プロジェクトでこの値をオーバーライドできます。
dimens.xml
に追加するだけです:
<dimen name="design_navigation_separator_vertical_padding">0dp</dimen>
警告:
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" />
非常に簡単な手順:次の属性をベースアプリケーションテーマ(stylename = AppTheme)Style.xmlに追加します。
<item name="listPreferredItemHeightSmall">18dp</item>