在主Activity中覆盖onCreateOptionsMenu(Menu menu)方法。[/size]
/**初始化菜单*/ @Override public boolean onCreateOptionsMenu(Menu menu) { //1 组 2 项 3 顺序 4 标题 menu.add(1, 1, 1, "apple"); menu.add(1, 2, 2, "bannae"); menu.add(1, 3, 3, "taozi"); return true; } /**点击事件*/ @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId()==1){ System.out.println("apple"); } return true; }
2 Context Menu
类似于电脑上的右键,长按某个View之后弹出来的菜单。
首先在main.xml里定义若干个按钮。然后覆盖onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)方法。
public class MainActivity extends Activity { private Button btn1; private Button btn2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1=(Button) findViewById(R.id.button1); btn2=(Button) findViewById(R.id.button2); //为Button 注册 registerForContextMenu(btn1); registerForContextMenu(btn2); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { if(v.getId()==btn1.getId()){ menu.setHeaderTitle("这是button1"); //1 组 2 项 3 顺序 4 标题 menu.add(1, 1, 1, "apple1"); menu.add(1, 2, 2, "bannae2"); menu.add(1, 3, 3, "taozi3"); } if(v.getId()==btn2.getId()){ menu.setHeaderTitle("这是button2"); //1 组 2 项 3 顺序 4 标题 menu.add(1, 1, 1, "apple1"); menu.add(1, 2, 2, "bannae2"); menu.add(1, 3, 3, "taozi3"); } super.onCreateContextMenu(menu, v, menuInfo); } }
需长按button 键
3 SubMenu
@Override public boolean onCreateOptionsMenu(Menu menu) { //1 组 2 项 3 顺序 4 标题 menu.add(1, 1, 1, "apple"); menu.add(1, 2, 2, "bannae"); menu.add(1, 3, 3, "taozi"); //增加子项 SubMenu subMenu=menu.addSubMenu("桃子"); subMenu.add(10,10,100,"大桃子"); subMenu.add(10,11,101,"小桃子"); return true; }