如何隐藏动作栏android

时间:2015-04-22 10:35:46

标签: android android-actionbar

我在操作栏上添加了溢出图标但现在在某些条件下我想要隐藏它,有没有办法以编程方式隐藏此图标。

1 个答案:

答案 0 :(得分:1)

对于您要隐藏菜单的特定条件,您可以在活动类和invalidateOptionsMenu();方法onPrepareOptionsMenu中为所有菜单项手动调用setVisible(false);

例如

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);
    }
}

如果希望它再次可见,请再次调用invalidateOptionsMenu();并确保onPrepareOptionsMenu方法中的条件为false,以便执行其他部分。