3 votes

Bouton Android pour afficher et masquer le même popup

Quelqu'un pourrait-il me dire comment il est possible d'afficher et de masquer la même fenêtre popup à l'aide d'un seul bouton.

Les suggestions sont les bienvenues.


Popup signifie que lorsque je clique sur un bouton de menu, une fenêtre popup contenant la vue en liste s'affiche. Lorsque je clique à nouveau sur le bouton de menu et que je touche n'importe quel endroit de l'écran, la fenêtre popup doit disparaître.

5voto

italo Points 3353

J'utilise le code ci-dessous pour le faire. Dans votre cas, le code menuButton est votre bouton unique et content est votre vue de liste. La liste anchor peut être le menuButton lui-même ou un autre View .

public static void setupMenuButton(View menuButton, View content, final View anchor) {
    PopupWindow popup;

    menuButton.setOnClickListener(v -> {
        if (popup == null) {
            popup = new PopupWindow(content, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            popup.setOutsideTouchable(true);
        }

        if (popup.isShowing()) popup.dismiss();
        else popup.showAsDropDown(anchor);
    });
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X