• 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来进行操作

  • 相关阅读:
    TinySpider开源喽
    TinyXmlParser开源喽
    Tiny快速入门之控制层开发
    TinyDBRouter
    TinyIOC
    开源前要做好哪些准备工作?
    分布式锁的简单实现
    TinyDBCluster Vs routing4db
    HTML5基础(五)
    HTML5基础(四)
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_popupmenu_15728113.html
Copyright © 2020-2023  润新知