PopupMenu - как? - PullRequest
       16

PopupMenu - как?

0 голосов
/ 08 сентября 2018

Я новичок в Android и пытаюсь сделать приложение, которое всплывающее меню при нажатии imageView. На самом деле это работает, но всплывающее окно с правой стороны, и я хочу быть в центре. Итак, я искал его в сети и наткнулся на классы ListPopupWindow, PopupWindow. Я пробовал различные методы этого класса в соответствии со своими знаниями / способностями, но я не могу этого достичь. Направь меня, чтобы сделать это. Вот мой код

imageview setonclickListener(new View.onclickListener() {
    @Override public void onClick(View view){
        PopupMenu popup = new PopupMenu(Info4 Activity.this, imageview1);
        Menu menu = popup.getMenu();
        for (int i = 0; i < (int) (subjects.size()); i++) {
            val = subjects.get((int) (i));
            menu.add(val);
        }
        popup.show();
    }
});

popup menu

1 Ответ

0 голосов
/ 09 сентября 2018

PopupMenu

Всплывающее окно появится под якорем , если есть место, или над ним, если его нет. В вашей ситуации якорь imageView, поэтому вы не можете центрировать всплывающее окно на экране.

PopupWindow :

Попробуйте это:

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
               popupWindow.showAtLocation(v, Gravity.CENTER, 0, 0);// here v is any View only needed for WindowToken
        }
    });

Другие лучшие способы:

Возможно, вам стоит подумать об использовании DialogFragment , который можно настраивать и настраивать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...