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

来源:互联网 发布:微信 for ubuntu 编辑:程序博客网 时间:2024/05/21 06:38

 菜单的显示方法有以下几种:使用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);    }}



0 0
原创粉丝点击