最近项目中碰到要在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;
- }
- };
- }
效果图如下: