安卓菜单的使用系列1:使用java代码显示菜单

 菜单的显示方法有以下几种:使用java代码显示普通菜单、使用xml文件显示普通菜单、显示上下文菜单、使用ActionMode显示菜单、显示弹出菜单。这里我们首先介绍一下使用java代码显示普通菜单的方式。

整体思路:在MainAcitivity的onCreateOptionsMenu方法中,添加3个菜单,分别指定它的图标、标题、快捷键等,在onOptionsItemSelected方法中,设置选择菜单之后的操作。其中一个操作是跳转到另一个activity,注意在清单文件AndroidManifest.xml文件中注册另一个activity。

MainActivity.java文件:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
    	
//      用xml加载菜单的方式
//      getMenuInflater().inflate(R.menu.main, menu);
    	
//    	使用java代码实现菜单的方式    最多可以显示6个子菜单
//    	第一个参数是组id,第二个参数是菜单选项id,第三个参数菜单显示顺序,第四个参数菜单标题
    	MenuItem menuItem=menu.add(1001, 100, 1, "系统菜单");//返回一个MenuItem
//    	给菜单设置图标
    	menuItem.setIcon(R.drawable.ic_launcher);//往往不显示出来
//    	设置菜单标题
    	menuItem.setTitle("菜单一");
    	
    	MenuItem menuItem2=menu.add(1001,101,2,"用户菜单");
    	menuItem2.setTitle("菜单二");
    	
    	MenuItem menuItem3=menu.add(1001,102,3,"客户菜单");
    	menuItem3.setTitle("菜单三");
    	menuItem3.setShortcut('c', 'c');//给指定的菜单设置快捷键
    	
        return true;
    }
    
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
	// TODO Auto-generated method stub
	  switch (item.getItemId()) {
	case 100://跳转到另一个activity,也可以传递一些参数
		Intent intent=new Intent(MainActivity.this,NextActivity.class);
		item.setIntent(intent);
		Toast.makeText(MainActivity.this,"菜单一", 1).show();
		break;
	case 101:
		Toast.makeText(MainActivity.this,"菜单二", 1).show();
		break;
	case 102:
		Toast.makeText(MainActivity.this,"菜单三", 1).show();
		break;
	}
	return super.onOptionsItemSelected(item);
  }
    
}
NextActivity.java文件:

public class NextActivity extends Activity {

	public NextActivity() {
		// TODO Auto-generated constructor stub
	}
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	// TODO Auto-generated method stub
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.next);
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值