Привязка PopupMenu к ImageView - PullRequest
       76

Привязка PopupMenu к ImageView

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

У меня есть ImageView, которое открывает PopupMenu по клику.Как настроить PopupMenu для отображения в определенной позиции?PopupMenu будет служить выпадающим меню, и я бы хотел, чтобы верхний правый угол PopupMenu находился там, где щелкнул пользователь.См. Изображения ниже для иллюстрации:

То, что у меня есть в настоящее время:

enter image description here

Что я хочу:

enter image description here

Соответствующий код:

mNavViewDropDown= navViewHeader.findViewById(R.id.navview_header_expand);
mNavViewDropDown.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        PopupMenu popup = new PopupMenu(getContext(), mNavViewDropDown);
        //Inflating the Popup using xml file
        popup.getMenuInflater()
                .inflate(R.menu.menu_navview_header_, popup.getMenu());
        //registering popup with OnMenuItemClickListener
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            public boolean onMenuItemClick(MenuItem item) {
                Toast.makeText(
                        getContext(),
                        "You Clicked : " + item.getTitle(),
                        Toast.LENGTH_SHORT
                ).show();
                return true;
            }
        });
        popup.show(); //showing popup menu
    }
});

Ответы [ 2 ]

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

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

https://developer.android.com/guide/topics/ui/controls/spinner#java

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

Вы можете установить гравитацию во всплывающем меню.

popup.setGravity(Gravity.LEFT);

Как говорится, то, что вы делаете, больше похоже на взлом.Нет никаких гарантий, что он появится слева.Вы должны использовать расширяемый список или создать свой собственный расширяемый вид.Попробуйте эту библиотеку: https://github.com/AAkira/ExpandableLayout. Она предоставляет простой способ показать расширяемое представление.

...