Чтобы изменить без определения ресурса стиля, мы можем использовать SpannableString.
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
//To style first menu item
MenuItem menuItem = menu.getItem(0);
CharSequence menuTitle = menuItem.getTitle();
SpannableString styledMenuTitle = new SpannableString(menuTitle);
styledMenuTitle.setSpan(new ForegroundColorSpan(Color.parseColor("#00FFBB")), 0, menuTitle.length(), 0);
menuItem.setTitle(styledMenuTitle);
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
Toast.makeText(this, item.getTitle() + " clicked!", Toast.LENGTH_LONG).show();
return true;
}
При форматировании стиля текста вы получите исключение типа «Недопустимый тип полезной нагрузки». Чтобы этого избежать, переопределите onMenuItemSelected и используйте return true или false.
Ссылка:
Android: java.lang.IllegalArgumentException: Invalid payload item type
http://vardhan-justlikethat.blogspot.in/2013/02/solution-invalid-payload-item-type.html
Есть ли способ, чтобы изменить его без определения ресурса стиля? – Fabii
Это не отвечает на заданный вопрос. – Odys
... и все же это принятый ответ! –