如何更改 NavigationView 菜单项的字体和大小?

How to change the font and the size of a NavigationView menu item?

我正在尝试以编程方式更改 NavigationView 中 first 元素的字体和大小。我以为我可以做这样的事情:

nav.menu.findItem(R.id.nav_user).textSize = ...
nav.menu.findItem(R.id.nav_user).textFont = ...

但是我好像做不到或者不知道怎么做。有帮助吗?

您可以使用 SpannableString:

val item: MenuItem = nav.menu.findItem(R.id.nav_user)
val spannableString = SpannableString(item.title.toString())
spannableString.setSpan(RelativeSizeSpan(1.5f), 0, spannableString.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
spannableString.setSpan(TypefaceSpan("font_name"), 0, spannableString.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
item.title = spannableString

RelativeSizeSpan1.5f 是文本大小的相对值而非绝对值,因此请根据需要进行调整。