menu是弹出一个供用户选择的交互界面,可分为OptionMenu和ContextMenu,区别是入口,前者通过按键进入,后者通过长按某个绑定的view进入。
OptionMenu和ContextMenu都分静态加载和动态加载,都很相似。静态加载通过res\menu\下xml文件,这些文件定义好菜单结构;动态加载通过代码一条条加入。两者的区别在创建函数中做区别。
实战:
OptionMenu
1、onCreateOptionsMenu(Menu menu) //创建菜单,也是动态和静态的区别之处,静态使用getMenuInflater()加载xml文件,动态使用接口menu.add(); 只调用一次
2、boolean onOptionsItemSelected(MenuItem item) //选中后进入,item为选中项
3、boolean onPrepareOptionsMenu(Menu menu) //每次显示之前都会调用,可以调整菜单和菜单项的属性
ContextMenu
1、onCreateContextMenu() //与上类似
2、onContextItemSelected(MenuItem item) // 与上类似
3、registerForContextMenu() // 注册绑定某个view