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

时间:2023-03-09 07:41:09
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;
}
};
}

效果图如下:

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