Android PopupMenu的使用

作者: JYangkai | 来源:发表于2019-03-10 19:42 被阅读43次

    正文

    我们在开发过程中,很多时候都会用到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的使用方法,希望大家喜欢。

    相关文章

      网友评论

        本文标题:Android PopupMenu的使用

        本文链接:https://www.haomeiwen.com/subject/ireppqtx.html