PopupMenu-如何?

时间:2018-09-08 18:37:18

标签: android android-popupwindow

我是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 :(得分:0)

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,它是可自定义且灵活的。