PopupMenu-使用实例跟监听事件
2024-08-25 10:25:17
今天需要给一个控件添加弹出菜单功能。就顺便学习了下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来进行操作
最新文章
- Leetcode Combination Sum II
- 用issnode+IIS来托管NodeJs Server
- 数字证书文件格式(cer和pfx)的区别
- 命令格式 kill -3 pid
- Java深度遍历文件夹(递归实现)
- Java实现验证码图片
- JS关闭当前页面的方法
- Tapestry5.3使用总结
- 模拟Vue之数据驱动4
- hdu_4467_Graph(莫队算法思想)
- JavaWeb总结(五)—Cookie
- AVFoundation 框架初探究(二)
- Scala 枚举介绍及深入应用
- document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题
- python3 列表去除重复项保留原序
- Linux - 快速进入目录的方法
- SqlServer 循环建表、删除表、更新表
- Ansible--常用模块使用
- Python 模块介绍
- f5基本介绍