menu菜单是一个应用程序不可或缺的重要元素之一,它的存在可以大大增强用户体验,因此设计一套好的menu系统将会为你的应用程序增色不少。

今天研究了一番menu,总结出以下心得。

  • menu是依附于Activity的,在Activity中按下menu键时被触发。
  • 建立一个menu需要继承Activity的onCreateOptionsMenu()或onCreatePanelMenu()方法,并使用Activity的getMenuInflater().inflate(R.menu.base_menu, menu)获得该Activity的MenuInfater(翻译过来是“菜单填充器”)来对菜单进行初始化,例如
  • @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;
        }

  • 其中onCreatePanelMenu()会在onCreateOptionsMenu()之前触发,若存在onCreatePanelMenu()则onCreateOptionsMenu()不会被触发。
  • 当设置了menu之后,需要在不同的menu元素被点击时作出相应的动作,这样才是一个完整的menu。因此建立了menu之后,还需要对menu的元素点击事件进行监听,继承Activity的
posted on 2010-10-09 17:39  四渡冰点  阅读(976)  评论(0编辑  收藏  举报