Android标题栏上添加多个Menu按钮

最近项目中碰到要在Android Menu旁边再添加一个按钮,而不是点击menu按钮然后在弹出一些选项.


MainActivity代码:

public class MainActivity extends Activity {
	private static final int MENU_CONFIRM = 17;

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

	@SuppressLint("NewApi")
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
        //添加标题栏的确定按钮
        MenuItem item=menu.add(0,MENU_CONFIRM,0,R.string.operation_confirm);
        
        /**
         * setShowAsAction参数说明   MenuItem接口的一些常量
         * SHOW_AS_ACTION_ALWAYS   总是显示这个项目作为一个操作栏按钮。
         * SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW   此产品的动作视图折叠成一个正常的菜单项。 
         * SHOW_AS_ACTION_IF_ROOM   显示此项目作为一个操作栏的按钮,如果系统有空间。 
         * SHOW_AS_ACTION_NEVER     从不显示该项目作为一个操作栏按钮。
         * SHOW_AS_ACTION_WITH_TEXT  当这个项目是在操作栏中,始终以一个文本标签显示它,即使它也有指定一个图标。
         */
        item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);//主要是这句话
        
        item.setOnMenuItemClickListener(listener);//添加监听事件
    	item.setIcon(R.drawable.ic_menu_confirm);//设置图标
		return true;
	}
	
	OnMenuItemClickListener listener=new OnMenuItemClickListener() {
		@Override
		public boolean onMenuItemClick(MenuItem item) {
			switch (item.getItemId()) {
			case MENU_CONFIRM:
				Toast.makeText(MainActivity.this, "您点击了确定按钮", Toast.LENGTH_SHORT).show();
				break;
			default:
				break;
			}
			return false;
		}
	};
}



效果图如下:


posted @ 2014-06-26 13:44  安辉  阅读(1481)  评论(0编辑  收藏  举报