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开发的文章很多,希望大家搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

02-08 00:28
查看更多