Activity自带了2种弹出框menu,样式好看,调用简单,可以替代很多功能,比如Dialog,下拉菜单等等
1、onCreateOptionsMenu选择菜单
点击导航条左上角...显示。此方法在Android Stuido创建的项目中,Activity中自带
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id) { case R.id.action_settings: break; case R.id.action_add: break; } return super.onOptionsItemSelected(item); }
2、onCreateContextMenu上下文菜单
这个菜单绑定其他控件使用。比如点击按钮,跳出ContextMenu(menu.main.xml同一个)
btn_long = (Button) findViewById(R.id.btn_long); registerForContextMenu(btn_long); @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { getMenuInflater().inflate(R.menu.menu_main, menu); super.onCreateContextMenu(menu, v, menuInfo); } @Override public boolean onContextItemSelected(MenuItem item) { int id = item.getItemId(); switch (id) { case R.id.action_settings: break; case R.id.action_add: break; } return super.onContextItemSelected(item); }
onCreateOptionsMenu只会被创建一次
onCreateContextMenu每次执行都会创建