android之OptionsMenu

首先编写res/layout/Activity_main.xml

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/MyLayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
	<TextView 
	    android:id="@+id/txt"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:text="按下Menu键出现选项菜单"/>
    
</LinearLayout>

  然后编写Activity类相应的代码

代码如下:

package com.example.myandroid;

import android.os.Bundle;
import android.app.Activity;
import android.app.TabActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
import android.widget.Toast;


public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    	menu.add(Menu.NONE,Menu.FIRST+1,5,"删除")
    	.setIcon(android.R.drawable.ic_menu_delete);
    	
    	menu.add(Menu.NONE,Menu.FIRST+2,2,"保存")
    	.setIcon(android.R.drawable.ic_menu_save);
    	
    	menu.add(Menu.NONE,Menu.FIRST+3,6,"帮助")
    	.setIcon(android.R.drawable.ic_menu_help);
    	
    	menu.add(Menu.NONE,Menu.FIRST+4,1,"添加")
    	.setIcon(android.R.drawable.ic_menu_add);
    	
    	menu.add(Menu.NONE,Menu.FIRST+5,4,"详细")
    	.setIcon(android.R.drawable.ic_menu_info_details);
    	
    	menu.add(Menu.NONE,Menu.FIRST+6,7,"发送")
    	.setIcon(android.R.drawable.ic_menu_send);
    	
    	menu.add(Menu.NONE,Menu.FIRST+7,3,"编辑")
    	.setIcon(android.R.drawable.ic_menu_edit);
    	
    	return true;    	
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
    	switch(item.getItemId()){
    	case Menu.FIRST+1:
    		Toast.makeText(this, "delete", Toast.LENGTH_LONG).show();
    		break;
    	
    	case Menu.FIRST+2:
    		Toast.makeText(this, "save", Toast.LENGTH_LONG).show();
    		break;
    	
    	case Menu.FIRST+3:
    		Toast.makeText(this, "help", Toast.LENGTH_LONG).show();
    		break;
    	
    	case Menu.FIRST+4:
    		Toast.makeText(this, "add", Toast.LENGTH_LONG).show();
    		break;
    	
    	case Menu.FIRST+5:
    		Toast.makeText(this, "detail", Toast.LENGTH_LONG).show();
    		break;
    		
    	case Menu.FIRST+6:
    		Toast.makeText(this, "send", Toast.LENGTH_LONG).show();
    		break;
    		
    	case Menu.FIRST+7:
    		Toast.makeText(this, "set", Toast.LENGTH_LONG).show();
    		break;
    	}
    	return false;
    }
    @Override
    public void onOptionsMenuClosed(Menu menu){
    	Toast.makeText(this, "选项菜单关闭", Toast.LENGTH_LONG).show();
    }
    @Override
    public boolean onPrepareOptionsMenu(Menu menu){
    	Toast.makeText(this, "在菜单显示(onCreateOptionsMenu()方法)之前会调用此操作,可以" +
    			"在此操作之中完成一些预处理操作", Toast.LENGTH_LONG).show();
    	return true;
    }
}

  效果如下图:

态度决定高度,细节决定成败,
原文地址:https://www.cnblogs.com/lxk2010012997/p/3983148.html