如何更改导航组项目大小
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>
我在导航抽屉中有 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>