Android开发积累Android开发知识小集

Android PopupMenu的使用

2019-03-10  本文已影响43人  JYangkai

正文

我们在开发过程中,很多时候都会用到PopupMenu

PopupMenu:Android轻量化的组件,能够满足弹出菜单的需求

我们平时用的app都会有弹出菜单,比如微信,点击界面的加号就会弹出一列菜单,既方便,又不占空间,不用的时候它是隐藏的,用到时候点击它才弹出来,这也就意味着我们可以随时创建和销毁它,但是要注意,不使用的时候记得销毁,不然会导致内存泄漏,那么接下来我们来看看怎么用PopupMenu

创建menu

我们使用PopupMenu的第一步,需要先创建一个menu的资源文件,步骤是

  1. 在res目录下找到menu文件夹,如果没有就自己创建一个
  2. 在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的使用方法,希望大家喜欢。

上一篇下一篇

猜你喜欢

热点阅读