9

I am creating a navigation drawer in android and I have added the items in menu_main.xml but I am not able to change the size of the menu items. Below is the code menu_main.xml:

  <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">
    <item
        android:id="@+id/motel"
        android:title="Motel">
    </item>
    <item
        android:id="@+id/packages"
        android:title="Packages">
    </item>
    </group>
</menu>
Paresh Mayani
  • 127,700
  • 71
  • 241
  • 295
jobin
  • 1,489
  • 5
  • 27
  • 52

2 Answers2

38

Create a style and apply it to NavigationView using app:theme

<style name="NavigationViewStyle">
     <item name="android:textSize">20sp</item> <!-- menu item text size-->
     <item name="android:listPreferredItemHeightSmall">40dp</item><!-- menu item height-->
</style>

And then as said, apply this style to NavigationView using app:theme

<android.support.design.widget.NavigationView
       ...
       ...    
        app:theme="@style/NavigationViewStyle"
       ...
       ...


</android.support.design.widget.NavigationView>
Paresh Mayani
  • 127,700
  • 71
  • 241
  • 295
8

Adding on to Paresh's answer above,

Create your own style "NavigationViewStyle" as stated above

<style name="NavigationViewStyle">
     <item name="android:textSize">20sp</item> 
     <item name="android:listPreferredItemHeightSmall">40dp</item>
</style>

Apply it to your menu items

<android.support.design.widget.NavigationView
        .
        .
        app:itemTextAppearance="@style/NavigationViewStyle"
        . />
Actiwitty
  • 1,232
  • 2
  • 12
  • 20
  • 2
    what about when on different screen sizes, is this automatically changed depending on density? I mean on a tablet the textSize is larger right – Tord Larsen Jul 12 '17 at 14:12