zoukankan      html  css  js  c++  java
  • 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来进行操作

  • 相关阅读:
    android 如何引用jar包
    ExoPlayer + 边缓存边播放
    adb打开系统设置的命令
    android 8.0 适配(总结)
    android 7.0适配(总结)
    android 6.0适配(总结)
    常用adb命令
    nginx 简介
    Marshmallow 的用法
    python 自动生成当前项目的requirements文件
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_popupmenu_15728113.html
Copyright © 2011-2022 走看看