Как изменить шрифт и размер пункта меню NavigationView?
Я пытаюсь изменить шрифт и размер first
элемент в моем NavigationView программно. Я думал, что могу сделать что-то вроде этого:
nav.menu.findItem(R.id.nav_user).textSize = ...
nav.menu.findItem(R.id.nav_user).textFont = ...
но кажется, что я не могу или не знаю как. Любая помощь?
1 ответ
Решение
Вы можете использовать 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
является относительным, а не абсолютным значением для размера текста, поэтому настройте его по своему усмотрению.