在导航视图中更改项目文字大小

9

我将在安卓上创建一个导航抽屉,已经在menu_main.xml中添加了项目,但是我无法更改菜单项的大小。下面是代码: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>

1
大小是什么意思?你是指高度还是宽度? - Paresh Mayani
不清楚你在问什么。 - Apurva
我指的是textSize。例如,文本“Motel”的大小。 - jobin
2个回答

38

使用app:theme创建一个样式并将其应用于NavigationView

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

然后像之前说的那样,使用 app:theme 将这种样式应用于 NavigationView。


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


</android.support.design.widget.NavigationView>

2
谢谢Paresh。工作得很好。 - jobin
2
app:theme="@style/NavigationViewStyle" 没有生效,而 android:theme="@style/NavigationViewStyle" 生效了。为什么会这样? - Srikar Reddy
@Paresh Mayani 谢谢!但我想要具体的一个项目文本大小增加或减小。 - user18148338

8

在Paresh上面的答案中,补充一点:

按照上述方法创建自己的样式“NavigationViewStyle”

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

将其应用于您的菜单项

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

2
不同屏幕尺寸怎么办?字体大小会根据密度自动调整吗?我的意思是,在平板电脑上,文本大小会更大,对吧? - Tord Larsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接