android fragment向action bar添加菜单处理,隐藏等

来源:互联网 发布:土方计算软件 编辑:程序博客网 时间:2024/06/13 15:03

 可以给不同的fragment添加不同的actionbar


一:覆盖onCreateOptionsMenu方法增加菜单文件
       

[java] view plain copy
  1. @Override  
  2.     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {  
  3.         // TODO Auto-generated method stub  
  4.         inflater.inflate(R.menu.main, menu);      
  5.         super.onCreateOptionsMenu(menu, inflater);        
  6.     }  

 

二:必须要在onCreate里边加上setHasOptionsMenu(true)

[java] view plain copy
  1. @Override  
  2.     public void onCreate(Bundle savedInstanceState) {  
  3.         // TODO Auto-generated method stub  
  4.         super.onCreate(savedInstanceState);  
  5.         setHasOptionsMenu(true);//添加菜单不调用该方法是没有用的  
  6.     }  

三:覆盖onOptionsItemSelected方法添加菜单影响事件

  

[java] view plain copy
  1. @Override  
  2.     public boolean onOptionsItemSelected(MenuItem item) {  
  3.         // TODO Auto-generated method stub  
  4.          switch (item.getItemId()) {    
  5.             case R.id.xx:    
  6.                 Toast.makeText(getActivity(), "xx", Toast.LENGTH_SHORT).show();    
  7.                 return true;    
  8.             case R.id.bb:    
  9.                 Toast.makeText(getActivity(), "bb", Toast.LENGTH_SHORT).show();    
  10.                 return true;    
  11.             case R.id.cc:    
  12.                 Toast.makeText(getActivity(), "cc", Toast.LENGTH_SHORT).show();    
  13.                 return true;    
  14.             case android.R.id.home:    
  15.                 Toast.makeText(getActivity(), "home", Toast.LENGTH_SHORT).show();    
  16.                 getActivity().finish();    
  17.                 return true;  
  18.             default:    
  19.                 return super.onOptionsItemSelected(item);    
  20.             }    
  21.     }  
http://blog.csdn.net/think_soft/article/details/7272864

http://www.cnblogs.com/SharkBin/p/3559213.html



二:隐藏Navigation

getActivity().getActionBar().setDisplayHomeAsUpEnabled(false);
        getActivity().getActionBar().setNavigationMode(ActionBar.DISPLAY_HOME_AS_UP);