工具栏菜单

  Android5.0引入了工具栏这个新增组件。在此之前,应用中用于导航或提供菜单操作的是操作栏
  工具栏菜单由菜单项组成,它占据着工具栏的右上方区域。

1.在XML文件中定义菜单


          

2.创建菜单

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.fragment_crime_list, menu);   
}
...

  Fragment.onCreateOptionsMenu(Menu, MenuInflater)方法是由FragmentManager负责调用的。因此,当activity接收到操作系统的onCreateOptionsMenu(...)方法回调请求时,必须要明确告诉FragmentManager:其管理的fragment应接收onCreateOptionsMenu(...)方法的调用指令。要通知FragmentManager需要调用以下方法:
public void setHasOptionsMenu(boolean hasMenu)

class CrimeListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setHasOptionsMenu(true);
      }
}

3.响应菜单项选择

  点击菜单中的菜单项时,fragment会收到onOptionsItemSelected(MenuItem)方法的回调请求。通过检查菜单项ID,可确定选中的是哪个菜单项。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
      switch(item.getItemId()) {
            case R.id.new_crime:
                  ...
            default:
                  return super.onOptionsItemSelected(item);          
      }
}

你可能感兴趣的:(工具栏菜单)