• PopupMenu-使用实例跟监听事件


    今天需要给一个控件添加弹出菜单功能。就顺便学习了下popupMenu的使用,记录下来。

    它的使用其实也非常的简单,看如下代码

    popupMenu = new PopupMenu(MainActivity.this, eText);
                    popupMenu.getMenuInflater().inflate(R.menu.main,popupMenu.getMenu());
                    Menu menu = popupMenu.getMenu();
                    menu.findItem(R.id.search).setVisible(false);
                    popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
                        
                        @Override
                        public boolean onMenuItemClick(MenuItem arg0) {
                            // TODO Auto-generated method stub
                            bt3.setText("onMenuItemClick");
                            return false;
                        }
                    });
                    popupMenu.setOnDismissListener(new OnDismissListener() {
                        
                        @Override
                        public void onDismiss(PopupMenu arg0) {
                            // TODO Auto-generated method stub
                            eText.setText("ondismiss");
                        }
                    });
                    
                    popupMenu.show();

    具体步骤

    1.创建一个 PopupMenu 实例

    //第二个参数绑定的是控件,也就是列表从这个控件的位置弹出
    popupMenu = new PopupMenu(MainActivity.this, eText);

    2.给这个菜单添加menu列表

    //这个是绑定列表,也就是弹出的菜单列表
    popupMenu.getMenuInflater().inflate(R.menu.main,popupMenu.getMenu());

    3.添加列表监听事件

    popupMenu.setOnMenuItemClickListener

    4.添加popupmenu消失事件监听

    //当菜单消失的时候,这个方法会触发
    popupMenu.setOnDismissListener

    5.显示列表,这个一定要有,否则不会显示菜单

    popupMenu.show();
    //隐藏的话
    popupMenu.dissmiss();

    如果你想操作添加的menu里的item,你可以使用

    Menu menu = popupMenu.getMenu();
    menu.findItem(R.id.search).setVisible(false);

    来得到每一个item来进行操作

  • 相关阅读:
    VS2010 VC Project的default Include设置
    Linux 下的编辑/编译器
    用命令实现Win7远程桌面关机和重启
    怎样快速刪除Word中超链接?
    chrome浏览器世界之窗浏览器的收藏夹在哪?
    代码量查找工具[最好用的]
    C项目实践--网络协议和套接字编程
    memmove 和 memcopy
    bzoj2456: mode
    bzoj1205: [HNOI2005]星际贸易
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_popupmenu_15728113.html
Copyright © 2020-2023  润新知