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

时间:2019-01-11 11:58:59

标签: android-studio kotlin android-navigationview

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

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

但是看来我做不到或不知道怎么做。有帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以使用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是文本大小的相对而非绝对值,请根据需要进行调整。