多语言展示
当前在线:1412今日阅读:91今日分享:37

android MENU自定义开发

android系统本身提供了MENU菜单的实现,同时也提供了MENU自己开发的接口,能够自己定义一些菜单的实现
工具/原料
1

电脑(windows)

2

eclipse+android编程环境

方法/步骤
1

首先新建一个android项目,名字叫做MenuSelfShow,其余的参数,用户可以自己设置,点击完成,即可生成项目信息。

2

定义menuself.xml

                                                                                                                                                                                                                                                                Menu 资源文件的定义Menu 资源文件也是一个XML文件,该文件存放于工程的res\menu\menu.xml 目录下。通过R.menu.menu的方式来引用。Menu 资源文件的结构:  1、根元素,在根元素里面会嵌套子元素,根元素没有属性。  2、元素中也可嵌套形成子菜单。          3、表示一个菜单组,相同的菜单组可以一起设置其属性,例如visible、enabled和checkable等。元素的属性说明如下:—   id:唯一标示该菜单组的引用id。— menuCategory:对菜单进行分类,定义菜单的优先级,有效值为container、system、secondary和alternative。—     orderInCategory:一个分类排序整数。—     checkableBehavior:选择行为,单选、多选还是其他。有效值为none、all和single。— visible:是否可见,true或者false。— enabled:是否可用,true或者false。表示菜单项,包含在中的有效属性。元素的属性说明如下。—     id:唯一标示菜单的ID引用。—     menuCategory:菜单分类。—     orderInCategory:分类排序。—     title:菜单标题字符串。—     titleCondensed:浓缩标题,适合标题太长的时候使用。—     icon:菜单的图标。—     alphabeticShortcut:字符快捷键。— numericShortcut:数字快捷键。— checkable:是否可选。— checked:是否已经被选。—    visible:是否可见。— enabled:是否可用。

3

对于MENU而言,MENU的初始化流程菜单初始化:onCreateOptionsMenu(Menu menu)菜单被选中:onOptionsItemSelected(MenuItem item)菜单关闭: onOptionsMenuClosed(Menu menu)选项菜单显示之前:onPrepareOptionsMenu(Menu menu)打开菜单后的动作: onMenuOpened(int featureId, Menu menu)在实例中,复写onCreateOptionsMenu(Menu menu)生成菜单,调用自定义的MENU样式。 public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub    MenuInflater inflater = getMenuInflater();    inflater.inflate(R.layout.menuself, menu);//调用自定义MENU样式 return super.onCreateOptionsMenu(menu); }

4

重写public boolean onOptionsItemSelected(MenuItem item),菜单选项被选中触发的事件 public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch(item.getItemId()){       case R.id.delete:           Toast.makeText(MenuShow.this, ''+'删除菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.view:            Toast.makeText(MenuShow.this, ''+'查看菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.newinfo:              Toast.makeText(MenuShow.this, ''+'新建菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.viewinfo:             Toast.makeText(MenuShow.this, ''+'信息菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.info:              Toast.makeText(MenuShow.this, ''+'详情菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.newFile:           Toast.makeText(MenuShow.this, ''+'新建文件菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.newDoc:           Toast.makeText(MenuShow.this, ''+'新建文档菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.newList:           Toast.makeText(MenuShow.this, ''+'新建列表菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.deleteone:           Toast.makeText(MenuShow.this, ''+'删除详情菜单', Toast.LENGTH_SHORT).show();           break;       case R.id.deletelist:           Toast.makeText(MenuShow.this, ''+'删除列表菜单', Toast.LENGTH_SHORT).show();           break;        } return super.onOptionsItemSelected(item); }

5

程序书写完成,运行程序,可以观察程序运行结果

推荐信息