Кнопка Android, чтобы показать и скрыть это же всплывающее окно - PullRequest
3 голосов
/ 14 декабря 2011

Может кто-нибудь сказать, пожалуйста, как можно показать и скрыть одно и то же всплывающее окно, используя одну кнопку.

предложения приветствуются.


Всплывающее окно означает, что при нажатиина кнопке меню отображается всплывающее окно, содержащее вид списка, и когда я снова нажимаю на кнопку меню и касаюсь в любом месте экрана, всплывающее окно должно исчезнуть.

1 Ответ

4 голосов
/ 01 июня 2012

Я использую приведенный ниже код, чтобы сделать это. В вашем случае menuButton - это ваша единственная кнопка, а content - это ваш список. anchor может быть самим menuButton или другим View.

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

    menuButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View 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);
            }
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...