[size=large]1。普通的Menu[size=medium][/size]
在主Activity中覆盖onCreateOptionsMenu(Menu menu)方法。[/size]
2 Context Menu
类似于电脑上的右键,长按某个View之后弹出来的菜单。
首先在main.xml里定义若干个按钮。然后覆盖onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)方法。
需长按button 键
3 SubMenu
在主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;
}