Android中的子菜单(SubMenu)使用案例

Android中创建子菜单的步骤:

1、覆盖Activity中的onCreateOptionMenu()方法,调用Menu的addSubMenu()方法添加子菜单。

2、调用SubMenu的add方法,添加子菜单。

3、覆盖onContextItemSelected()方法,响应子菜单。

来看个小例子:

package com.yangzi.submenu;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;

public class MainActivity extends Activity {
    //子菜单编号
    private static final int ITEM1 = Menu.FIRST;
    private static final int ITEM2 = Menu.FIRST+1;
    private static final int ITEM3 = Menu.FIRST+3;
    private static final int ITEM4 = Menu.FIRST+4;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /*
     * 覆写onCreateOptionMenu方法,添加菜单,及子菜单
     *
     * */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //添加菜单选项
        SubMenu file = menu.addSubMenu("文件");
        SubMenu edit = menu.addSubMenu("编辑");

        //添加子菜单选项
        /*
         * add方法的参数说明:
          * 参数一:group ID(int) :组ID,用于标示该子选项属于哪一个组
         * 参数二:item ID(int) :子选项ID,用于标示该子选项
         * 参数三:order ID(int): 显示顺序,用于标示该子选项显示顺序,默认为0,表示按添加顺序显示
         * 参数四:title (String): 用于定义该子选项的显示文字
         *
         * */
        file.add(0,ITEM1,0,"新建");
        file.add(0,ITEM2,0,"打开");
        edit.add(1,ITEM3,0,"复制");
        edit.add(1,4,ITEM4,"粘贴");
        return true;
    }
    /*
     * 覆写该方法,添加相应的菜单相应事件
     *
     * */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        /*
         * 根据选择的子选项(通过item ID来区分),进行不同的响应
         *
         * 这里使用的颜色资源要在res/values文件夹内的color.xml文件中声明
         *
         * */
        switch (item.getItemId()) {
        case ITEM1:
            setTitle("新建文件");
            break;
        case ITEM2:
            setTitle("打开文件");
            break;
        case ITEM3:
            setTitle("复制编辑");
            break;
        case ITEM4:
            setTitle("粘贴编辑");
        default:
            break;
        }
        return true;
    }
}

自己动手试试,看看效果吧!

时间: 2024-10-28 10:32:15

Android中的子菜单(SubMenu)使用案例的相关文章

Android 菜单之子菜单SubMenu

子菜单就是在点击了菜单中的选项后弹出的要对菜单中选项操作的菜单           他的操作与之前的两种类型的菜单操作差不多 动态添加 @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu file = menu.addSubMenu("文件"); SubMenu edit = menu.addSubMenu("编辑"); file.setHeaderTitle("文件"

Android中的选项菜单(OptionMenu)使用案例

在Android中的每一个activity都捆绑了一个OptionMenu,它是通过调用OnCreateOptionMenu(Menu menu)函数来进行初始化,我们可以覆写这个函数,来设置一个activity的响应菜单.下面通过一个小例子来说明具体如何实现. package com.yangzi.optionmenu; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import

Android中自定义视图View之---开发案例

自定义视图View的案例 下面我们就是开始正式的进入自定义视图View了 在讲解正式内容之前,我们先来看一下基本知识 1.我们在自定义视图View的时候正确的步骤和方法 1).必须定义有Context/Attrbuite参数的构造方法,并且调用父类的方法 public LabelView(Context context, AttributeSet attrs) 不然会报错: 2).重写onMeasure方法 @Override protected void onMeasure(int width

Android中,子线程使用主线程中的组件出现问题的解决方法

Android中,主线程中的组件,不能被子线程调用,否则就会出现异常. 这里所使用的方法就是利用Handler类中的Callback(),接受线程中的Message类发来的消息,然后把所要在线程中执行的功能交由Handler类来处理.这样就解决了线程出现的问题. 下面测试实例功能为单击图片,图片透明度改变为50,300毫秒后恢复不透明,代码如下: public class Demo extends Activity{ private ImageView changeImg = null;//Im

Android中的上下文菜单(ContextMenu)使用案例

在Android中长按住一个控件(像一个文本显示框TextView,一个按钮Button都是一个控件)弹出的菜单为上下文菜单,创建一个上下文菜单分为下面几个步骤: 1.覆写onCreateContextMenu方法,生成对应的菜单子选项. 2.覆写onContextItemSelected方法,生成对应子选项的响应事件. 3.为一个控件注册上下文菜单. 下面看一个小例子: 1.在MainActivity的xml文件中添加一个TextView控件,ID为myTextV: <TextView and

Android学习(二十三)SubMenu 子菜单

一.SubMenu子菜单 和功能菜单相似,但是可以添加子菜单. 二.实现步骤: 1.通过onCreateOptionsMenu方法创建子菜单,可以通过代码动态创建,也可以通过xml进行创建. 2.通过onOptionsItemSelected方法实现点击子菜单的事件. 三.参考代码: 1.通过代码动态创建子菜单:   main.java package com.example.zhengcheng.submenudemo; import android.support.v7.app.Action

Android进阶(二十八)上下文菜单ContextMenu使用案例

上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,

Android菜单详解(一)——理解android中的Menu

前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至今为止看到的最好的一本android书,中文版出到<精通Android 2>. 理解Android的菜单 菜单是许多应用程序不可或缺的一部分,Android中更是如此,所有搭载Android系统的手机甚至都要有一个"Menu"键,由此可见菜单在Android程序中的特殊性.An

【转】 Pro Android学习笔记(三一):Menu(2):扩展、图片、子菜单

目录(?)[-] 菜单扩展 菜单项加入图片 子菜单 菜单扩展 如果菜单项很多,超过六个时,就会采用菜单扩展模式.在例子中我加入了10个菜单项,预计能进入菜单扩展模式,但是实际效果如右图所示.效果和list非常相似,如果继续增加菜单项,可以通过上下拖动,来查看未能显示在屏幕上的菜单项.对于list模式,不能在菜单项中加入图标,也影响了我们下一步试验. 对于Android 4.0,系统缺省的UI风格有所变化,如果我们仍希望采用原有的显示方式,可以通过为Activity设置theme,指定风格,经过测