当前位置:酷酷问答>百科知识>android MENU自定义开发

android MENU自定义开发

2024-12-01 10:00:35 编辑:zane 浏览量:531

android MENU自定义开发

的有关信息介绍如下:

android MENU自定义开发

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

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

定义menuself.xml

android:checkableBehavior="none">

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:是否可用。

对于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);

}

重写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);

}

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

版权声明:文章由 酷酷问答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kukuwd.com/article/147261.html
热门文章