How to hide option menu?

2020-05-25 11:46发布

问题:

I am using option selected menu item, attached three item (share, login, logout) am select login item, go login activity login social sign (Facebook or google) any one, if login hide login item at same time show logout item, this same type if logout the social sign show login item menu, please help me...

回答1:

step:1) menu.xml define all three menu item. login ,logout and share after that make logout visibility to false by default

android:visible="false"

and make remaining two items visible.its optional because by default all items are visible in android

Step:2)when you are in login Activity inflate that xml.and no need to make any change in activity at these point we are showing login and share menu item only and we have already made logOff item visibility to false in the xml .

step:3) when you are in main activity(activity that you are showing after login activity) do these

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

    inflater.inflate(R.menu.menu, menu);

    MenuItem item = menu.findItem(R.id.login_id);
            item.setVisible(false);//
    MenuItem item = menu.findItem(R.id.logOff_id);
            item.setVisible(true);
    super.onCreateOptionsMenu(menu, inflater);
}

at these point you will get logOff and share because we have made login menu item visibility to false .



回答2:

In your Activity after successful login take handle of the menuItem in ActionBar and change it's visibility state

getMenu().findItem(R.id.login_menu_id).setVisible(false);

If you're using Toolbar then it will be like

toolbar.getMenu().findItem(R.id.login_menu_id).setVisible(false);

So setVisible(boolean) will change the visibility of a menuItem. Hope this helps