PopupMenu 代表弹出式菜单,它会在指定组件上,默认情况下,PopupMenu会显示该组件,PopupMenu可增加多个菜单项。
首先是主活动中的调用:
public class MainActivity extends Activity {
PopupMenu popupMenu = null ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onPopupButtonClick(View button){
//创建PopupMenu对象
popupMenu = new PopupMenu(this, button);
//将 R.menu.menu_main 菜单资源加载到popup中
getMenuInflater().inflate(R.menu.menu_main,popupMenu.getMenu());
//为popupMenu选项添加监听器
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.plain_item:
//隐藏对话框
popupMenu.dismiss();
break;
default:
Toast.makeText(MainActivity.this,"you clicked->" + item.getTitle(), Toast.LENGTH_SHORT).show();
}
return true;
}
});
popupMenu.show();
}
}
在布局文件中添加点击事件:
一、在 /res 下建立 /menu文件夹
二、在menu文件夹下建立:menu_main.xml:
三、在menu文件夹下建立:context.xml