首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PopupMenu -如何操作?

PopupMenu -如何操作?
EN

Stack Overflow用户
提问于 2018-09-09 02:37:18
回答 1查看 55关注 0票数 0

我是一个初学者在安卓,并试图使一个应用程序,弹出一个菜单,当imageView被点击。实际上,它可以工作,但弹出在右侧,我想要在中心。所以,我在网上搜索了一下,偶然发现了ListPopupWindow和PopupWindow类。根据我的知识/能力,我尝试了这个课程的各种方法,但我不能做到这一点。请指导我这样做。以下是我的代码

代码语言:javascript
复制
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();
    }
});

EN

回答 1

Stack Overflow用户

发布于 2018-09-09 08:48:57

PopupMenu

如果有空间,则弹出窗口将出现在锚点的下方,如果没有空间,则弹出窗口将出现在其上方。在你的情况下,锚点是imageView,所以你不能在屏幕上居中弹出窗口。

PopupWindow

试试这个:

代码语言:javascript
复制
    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,它是可定制的和灵活的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52238298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档