«

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

时间:2024-3-2 18:06     作者:韩俊     分类: 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

热门推荐