Narayan soni
Narayan soni

Reputation: 821

How to hide overflow icon on action bar android

i have added overflow icon on action bar but now for some condition i want to hide it, Is there any way to hide this icon programtically.

Upvotes: 1

Views: 400

Answers (1)

Rajen Raiyarela
Rajen Raiyarela

Reputation: 5636

For the particular condition you want to hide menus, you can manually call invalidateOptionsMenu(); in your activity class and in your onPrepareOptionsMenu method setVisible(false); for all the menu items you have.

For example

public void someMethod(){
    if (<somecondition>){
       invalidateOptionsMenu();
    }
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    if (<somecondition>){
      menu.findItem(R.id.action_one).setVisible(false);
      menu.findItem(R.id.action_two).setVisible(false);
      menu.findItem(R.id.action_three).setVisible(false);
    }else{
      menu.findItem(R.id.action_one).setVisible(true);
      menu.findItem(R.id.action_two).setVisible(true);
      menu.findItem(R.id.action_three).setVisible(true);
    }
}

When you want it to be visible again, again call invalidateOptionsMenu(); and make sure the condition inside onPrepareOptionsMenu method gets false so that else part is executed.

Upvotes: 1

Related Questions