Вы можете установить значок элементов вашего меню, вызвав метод setIcon (int) нужного элемента.В этом примере есть только один элемент, который меняет свой значок, нравится ли пользователю фильм или нет.«Мне нравится» - это логическое значение, которое изменяется в другой части кода, а затем вызывается invalidateOptionsMenu () для воссоздания меню (вызывается onCreateOptionsMenu после аннулирования).
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.your_xml_menu, menu);
MenuItem item = menu.getItem(0);
if (liked) {
item.setIcon(R.drawable.liked);
} else {
item.setIcon(R.drawable.not_liked);
}
return super.onCreateOptionsMenu(menu);
}
Вы также можете изменить видимостьэлемент, вызывающий item.setVisible (false);или даже раздувать разные xml для разных конфигураций.