web-dev-qa-db-fra.com

Comment masquer le menu d'options?

J'utilise l'option de menu sélectionnée, trois éléments joints (partage, connexion, déconnexion), sélectionnez l'élément de connexion, allez à l'activité de connexion, connectez-vous au signe social (Facebook ou Google), si la connexion masque l'élément de connexion en même temps, affichez l'élément de déconnexion, ce même type si vous vous déconnectez du menu des éléments de connexion du signe social, veuillez m'aider ...

enter image description here

19
Android Student

étape: 1) menu.xml définit les trois éléments du menu. connectez-vous, déconnectez-vous et partagez après cela, la visibilité de la déconnexion devient fausse par défaut

Android:visible="false"

et rendre les deux éléments restants visibles.it facultatif car par défaut, tous les éléments sont visibles dans Android

Étape: 2) lorsque vous êtes en activité de connexion, gonflez ce xml.et pas besoin de modifier l'activité à ce stade, nous affichons uniquement l'élément de menu de connexion et de partage et nous avons déjà rendu la visibilité de l'élément logOff fausse dans le xml.

étape: 3) lorsque vous êtes dans l'activité principale (activité que vous affichez après l'activité de connexion), procédez comme suit

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

à ce stade, vous obtiendrez logOff et partagez car nous avons rendu la visibilité des éléments de menu de connexion fausse.

24
AKASH WANGALWAR

Dans votre Activity après une connexion réussie, prenez le menuItem dans ActionBar et changez son état de visibilité

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

Si vous utilisez Toolbar, ce sera comme

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

Donc setVisible(boolean) va changer la visibilité d'un menuItem. J'espère que cela t'aides

8
Kavin Prabhu