menu菜单是一个应用程序不可或缺的重要元素之一,它的存在可以大大增强用户体验,因此设计一套好的menu系统将会为你的应用程序增色不少。
今天研究了一番menu,总结出以下心得。
- menu是依附于Activity的,在Activity中按下menu键时被触发。
- 建立一个menu需要继承Activity的onCreateOptionsMenu()或onCreatePanelMenu()方法,并使用Activity的getMenuInflater().inflate(R.menu.base_menu, menu)获得该Activity的MenuInfater(翻译过来是“菜单填充器”)来对菜单进行初始化,例如
- 其中onCreatePanelMenu()会在onCreateOptionsMenu()之前触发,若存在onCreatePanelMenu()则onCreateOptionsMenu()不会被触发。
- 当设置了menu之后,需要在不同的menu元素被点击时作出相应的动作,这样才是一个完整的menu。因此建立了menu之后,还需要对menu的元素点击事件进行监听,继承Activity的
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
Log.d("ActivityMenu", "onCreateOptionsMenu");
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.base_menu, menu);
return true;
}