如何更改单个菜单项的文本大小

4

我有一段代码在我的menu.xml文件中,它位于导航视图内:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group>
        <item
            android:title="Blue"
            android:id="@+id/blue">
            <menu>
                <item
                    android:id="@+id/red"
                    android:title="Red"
                    />
            </menu>
        </item>
    </group>
    <group>
           <item
                android:id="@+id/green"
                android:title="Green" />
           <item
                android:id="@+id/yellow"
                android:title="Yellow"/>
    </group>
</menu>

我想仅更改蓝色项目的文本大小。我该怎么做?
1个回答

8
当您创建菜单时,可以像这样更改文本大小:
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater awesome = getMenuInflater();
    awesome.inflate(R.menu.menu_main, menu);
    for(int i = 0; i < menu.size(); i++) {
        MenuItem item = menu.getItem(i);
        if (item.getItemId() == R.id.blue)
        {
            SpannableString spanString = new SpannableString(menu.getItem(i).getTitle().toString());
            int end = spanString.length();
            spanString.setSpan(new RelativeSizeSpan(1.5f), 0, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            item.setTitle(spanString);
        }
    }
    return true;
}

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