码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-05-23 16:56:26      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:android

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;
    }
}

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

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

标签:android

原文地址:http://blog.csdn.net/u012437355/article/details/45935467

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!