首先,需要在res目录下创建一个名为menu的文件夹(名字随意),在文件夹中创建一个名为main.xml的xml文件;
在xml文件里写如下代码,可自定义:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add_item" android:title="登陆个人中心"></item> <item android:id="@+id/add_photograph" android:title="拍照(Photograph)"></item> <item android:id="@+id/add_cancel" android:title="取消(Cancel)"></item> <item android:id="@+id/add_exit" android:title="退出(EXIT)"></item> </menu>然后需要在你所想展示的Activity中重写是否允许展示菜单的方法onCreateOptionsMenu()方法和菜单响应事件方法onOptionsItemSelected()方法
/*通过getMenuInflater()方法能够得到MenuInflater对象,在调用它的inflate方法就可以给当前活动(Activity)创建菜单了 inflate方法传递两个参数;第一个参数是资源文件,用来创建菜单,第二个参数用于指定我们的菜单项将添加到哪一个Menu对象当中 返回true代表允许创建的菜单显示出来,返回false创建的菜单将无法显示*/ @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return true; } //菜单响应事件(也说点击事件) @Override public boolean onOptionsItemSelected(MenuItem item) { //获取到main.xml中的控件id,通过switch进行判断点击,在点击事件里写对应的逻辑代码 switch (item.getItemId()){ case R.id.add_item: showShortToast(HomActivity.this,"You clicked 个人中心按钮"); break; case R.id.add_photograph: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivity(intent); break; case R.id.add_cancel: showShortToast(HomActivity.this,"You clicked 取消"); break; case R.id.add_exit: showShortToast(HomActivity.this,"你点击了退出"); ActivityCollector.finishAll(); break; } return true; }
然后就可以出现以下效果