Как изменить шрифт и размер пункта меню NavigationView? - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь программным способом изменить шрифт и размер элемента first в моем NavigationView. Я думал, что смогу сделать что-то вроде этого:

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

но кажется, что я не могу или не знаю как. Любая помощь?

1 Ответ

0 голосов
/ 11 января 2019

Вы можете использовать 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

значение RelativeSizeSpan 1.5f является относительным, а не абсолютным значением для размера текста, поэтому настройте его по своему усмотрению.

...