settingsItemTitle
должен быть заменен названием вашего MenuItem.Если заголовок уже был задан в файле макета меню, вы можете переписать свой код следующим образом:
int positionOfMenuItem = 0; //or any other postion
MenuItem item = menu.getItem(positionOfMenuItem);
SpannableString s = new SpannableString(item.getTitle());
s.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_CENTER), 0, s.length(), 0);
item.setTitle(s);
Это работает, если вы вызываете его в перезаписанном методе onCreateOptionsMenu
вашей Деятельности после того, как накачалименю.
Если вы собираетесь сделать это для всех пунктов вашего меню, вам нужно их зациклить.Что-то вроде:
for(int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
SpannableString s = new SpannableString(item.getTitle());
s.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_CENTER), 0, s.length(), 0);
item.setTitle(s);
}
Я думаю, что установка этого в собственном макете, как указал Гэвин в своем ответе, была бы более аккуратной, но стоить того, чтобы не иметь возможности использовать Android из готового меню..