Menu菜单设计技巧
2011-08-19 15:58
190 查看
代码如下:
public class MenuActivity extends Activity { private static final int ADD_ID = Menu.FIRST; private static final int DELETE_ID = Menu.FIRST + 1; private static final int EXIT_ID = Menu.FIRST + 2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } //创建菜单选项 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, ADD_ID, 0, "增加菜单"); menu.add(0, DELETE_ID, 1, "删除菜单"); menu.add(0, EXIT_ID, 2, "退出"); return true; } //菜单选项被点击后进行的操作 @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case ADD_ID: setTitle("插入"); break; case DELETE_ID: setTitle("删除"); break; case EXIT_ID: finish(); break; } return super.onOptionsItemSelected(item); } }
研究上面的代码:一开始,框架就反向呼叫onCreate()函数,也呼叫onCreateOptionsMenu.当你选取” 增加菜单”的时候,框架会反向呼叫onOptionsItemSelected()函数。框架是主角,MenuActivity类知识被呼叫的配角,复杂的控制逻辑都被框架隐藏了,所以程序代码变的简单清晰了。
呼叫onCreate()函数时,此函数首先 正向呼叫父类Activity的onCreate()函数,先执行父类的预设行为,然后才执行MenuActivity::onCrate()函数的附加行为。
1、 为何子类MenuActivity的onCrate()要正向呼叫父类的onCrate()函数?
因为框架的某个函数(不是Activity::onCreate())呼叫MenuActivity::onCrate()函数时,此onCrate()函数无法自己完成整个任务,而需要父类的预设函数来帮忙,才得以完成之。
相关文章推荐
- Android基础教程(五)之-----Menu功能菜单设计
- Android编程基础之Menu功能菜单设计实例
- Android入门教程(十)之-----Menu功能菜单设计 (转)
- ContextMenuStrip 菜单的使用技巧
- Delphi Menu Designer(菜单设计器)之二
- Android教程(六)-- Menu菜单设计
- Delphi Menu Designer(菜单设计器)之三
- Delphi Menu Designer(菜单设计器)之一
- Android基础教程(五)之-----Menu功能菜单设计
- Delphi Menu Designer(菜单设计器)之一
- SharePoint 2007 设计技巧之修改欢迎菜单的箭头显示
- Android基础教程(五)之-----Menu功能菜单设计
- Android基础教程(五)之-----Menu功能菜单设计
- MENU菜单的设计
- Android Menu,OptionMenu选项菜单,ContextMenu上下文菜单,Contextual ActionMode,PopUp Menu,PopU pWi ndow
- 类设计技巧
- Ext 介绍入门之 Menu Widget (EXT 菜单组件)
- GridView-右键菜单(Menu)
- Java 继承设计技巧--摘自《JAVA核心技术》
- symbian学习-菜单(menu)——添加菜单的一般方法