如何更改导航组项目大小

How to change Navigation group item size

我在导航抽屉中有 2 组菜单项。这是我的 menu.xml 文件。

<group
        android:id="@+id/pages"
        android:checkableBehavior="single">

        <item
            android:id="@+id/mHomePage"
            android:icon="@drawable/ic_baseline_home_24"
            android:title="@string/home" />

        <item
            android:id="@+id/mAboutFragment"
            android:icon="@drawable/ic_about"
            android:title="@string/about_us" />

        ...
    </group>

    <group
        android:id="@+id/actions"
        android:checkableBehavior="none">

        <item android:id="@+id/mActionShare"
            android:title="@string/share_the_app"
            android:icon="@drawable/ic_baseline_share_24"/>

        ...
    </group>

正好第二组的文字比第一组的大。我想专门缩小第二组的文字大小。 我该如何实现?

要实现您的需求,您需要使用SpannableString

    SpannableString spannableString = new SpannableString(navigationView.getMenu().getItem(0).getTitle());
    spannableString.setSpan(new TextAppearanceSpan(this, R.style.TextStyle), 0, spannableString.length(), 0);
    navigationView.getMenu().getItem(0).setTitle(spannableString);

如您所见getItem方法需要一个菜单​​项索引:

  • 项目 主页 的索引为 0
  • 项目 AboutFragment 的索引是 1
  • 项目 ActionShare 的索引是 2

创建样式并将其命名为 TextStyle :

 <style name="TextStyle">
        <item name="android:textSize">10sp</item> //SPECIFY YOUR TEXT SIZE
 </style>