Android PopupMenu 菜单使用
浩宇软件开发
编辑于 2023年07月01日 21:33
  1. 创建 PopupMenu对象

  2. 在res下新建menu文件夹,并在menu文件夹下新建popup_menu.xml。如下图所示:

popup_menu.xml

3.核心代码实现

代码块
clike
自动换行
复制代码
findViewById(R.id.more).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //创建PopupMenu对象
                PopupMenu popup = new PopupMenu(MapActivity.this, view);
                //将R.menu.popup_menu菜单资源加载到popup菜单中
                getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());
                //为popup菜单的菜单项单击事件绑定事件监听器
                popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        switch (item.getItemId()) {
                            case R.id.item1:
                                //普通地图
                                mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
                                break;


                            case R.id.item2:
                                //卫星地图
                                mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
                                break;


                            case R.id.item3:
                                //POI检索
                                startActivity(new Intent(MapActivity.this, PoiCitySearchActivity.class));

                                break;


                            case R.id.item4:
                                //路径规划
                                startActivity(new Intent(MapActivity.this, WalkingRoutePlanActivity.class));
                                break;

                            default:

                        }
                        // TODO Auto-generated method stub
                        return false;
                    }

                });
                popup.show();

            }
        });
复制成功