Android PopupMenu的使用
2019-03-10 本文已影响43人
JYangkai
正文
我们在开发过程中,很多时候都会用到PopupMenu
PopupMenu:Android轻量化的组件,能够满足弹出菜单的需求
我们平时用的app都会有弹出菜单,比如微信,点击界面的加号就会弹出一列菜单,既方便,又不占空间,不用的时候它是隐藏的,用到时候点击它才弹出来,这也就意味着我们可以随时创建和销毁它,但是要注意,不使用的时候记得销毁,不然会导致内存泄漏,那么接下来我们来看看怎么用PopupMenu
创建menu
我们使用PopupMenu的第一步,需要先创建一个menu的资源文件,步骤是
- 在res目录下找到menu文件夹,如果没有就自己创建一个
- 在menu目录下创建menu的xml文件,如下代码所示
menu_media_popupmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_media_popmenu_voice"
android:title="语音"/>
<item
android:id="@+id/menu_media_popmenu_video"
android:title="视频"/>
</menu>
可以看到,我创建的这个xml文件有两个item,一个语音,一个视频
下面我们就可以使用了
开始使用
我们在代码中使用,在点击按钮后调用如下方法
PopupMenu popupMenu = new PopupMenu(mContext, view);
popupMenu.getMenuInflater().inflate(R.menu.menu_media_popmenu, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
return true;
}
});
popupMenu.show();
可以看到,使用的方法也比较简单,我先是传入参数context和view创建一个PopupMenu,然后再通过getMenuInflater()方法去加载我们刚刚创建的xml文件资源,接着我们给PopupMenu注册了item点击事件,最后通过show方法显示
以上就是PopupMenu的使用方法,希望大家喜欢。