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

popup_menu.xml
3.核心代码实现
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();
}
});