Android optionsMenu,菜单的使用

Android3.0 之前一直使用menu 弹出菜单,optionsMenu的使用方式跟context菜单的使用方式类似,
①创建 系统菜单 onCreateOptionsMenu(Menu menu)

@Override
public boolean onCreateOptionsMenu(Menu menu) {
setIconEnable(menu,true);//让菜单项的图标可见

    //根据菜单项的xml文件创建菜单项对象,并把菜单项对象加入到菜单对象中
    //参数menu接收的是菜单对象,菜单对象由系统创建 
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

② 为菜单添加监听 onOptionsItemListener

//给系统菜单添加点击菜单项时的事件监听
//参数item接收的是被点击的菜单项对象
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //获取被点击的菜单项的id 
    int id = item.getItemId();
    switch(id)
    {
    case R.id.action_settings:
        //显示系统设置界面
        startActivity(new Intent(Settings.ACTION_SETTINGS));
        break;
    case R.id.action_bigFont:
        //增大textView的字体
        fontSize+=5;
        textView.setTextSize(fontSize);
        break;
    case R.id.action_smallFont:
        //缩小textView的字体
        fontSize-=5;
        textView.setTextSize(fontSize);
        break;
    }
    return super.onOptionsItemSelected(item);
}

③ 解决不显示图标问题 通过反射机制
//为系统菜单项添加图标
//enable为true时,菜单添加图标有效,enable为false时无效。4.0+系统默认无效
private void setIconEnable(Menu menu, boolean enable)
{
try
{
//MenuBuilder.class
Class

你可能感兴趣的:(android,menu)