Как изменить размер текста меню
Я пытался изменить стиль следующим образом:
<item name="android:actionMenuTextAppearance">@style/MenuTextStyle</item>
<stylename="MenuTextStyle"parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
<item name="android:textColor">@android:color/white</item>
<item name="android:textSize">16sp</item>
</style>
Но это сработало. Извините за мой английский. Если ты это знаешь, скажи мне, пожалуйста. Заранее спасибо!
2 ответа
В базовую тему вашего приложения добавьте следующий элемент:
<item name="android:actionMenuTextAppearance">@style/customActionBar</item>
Затем определите customActionBar следующим образом:
<style name="customActionBar" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textSize">16sp</item>
</style>
Теперь вы должны извлечь текст из MenuItems в SpannableStrings в вашем onCreateOptionsMenu, изменить размер текста по сравнению с заданным по умолчанию с помощью RelativeSizeSpan. Если вы хотите ввести абсолютный размер шрифта, используйте AbsoluteSizeSpan, например, до 18 dpi = AbsoluteSizeSpan(18,true):
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater infl = getMenuInflater();
infl.inflate(R.menu.menu_main, menu);
for(int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
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;
}