Android重写菜单增加系统自带返回键

条件:当前项目导入了ActionBarSherlock这个jar包,这个jar包的作用为了程序的兼容性,考虑低版本的问题.

         学习ActionBarSherlock参考博客链接:http://blog.csdn.net/icyfox_bupt/article/details/9286387


接下来贴上代码

  1. @Override  
  2. protected void onCreate(Bundle savedInstanceState) {  
  3.     super.onCreate(savedInstanceState);  
  4.     setContentView(R.layout.activity_main);  
  5.       
  6.     //这行必须要写  
  7.     getSupportActionBar().setDisplayHomeAsUpEnabled(true);  
  8. }  
  9.   
  10. @Override  
  11. public boolean onCreateOptionsMenu(Menu menu) {  
  12.     return true;  
  13. }  
  14.   
  15. //监听返回按钮操作事件  
  16. @Override  
  17. public boolean onOptionsItemSelected(MenuItem item) {  
  18.     switch (item.getItemId()){  
  19.     case android.R.id.home:  
  20.         Toast.makeText(this"您点击了返回按钮", Toast.LENGTH_LONG).show();  
  21.         return true;  
  22.     }  
  23.     return super.onOptionsItemSelected(item);  
  24. }  


效果图如下:

Android重写菜单增加系统自带返回键





如果没有引入ActionBarSherlock这个jar包的写法如下


  1. @Override  
  2. protected void onCreate(Bundle savedInstanceState) {  
  3.     super.onCreate(savedInstanceState);  
  4.   
  5.     getActionBar().setDisplayHomeAsUpEnabled(true);//这句话必须要写  
  6. }  
  7.   
  8. @Override  
  9. public boolean onOptionsItemSelected(MenuItem item) {  
  10.     switch (item.getItemId()) {  
  11.     case android.R.id.home://增加点击事件  
  12.         finish();  
  13.         break;  
  14.     default:  
  15.         break;  
  16.     }  
  17.     return super.onOptionsItemSelected(item);  
  18. }  


顺便介绍几个ActionBar的方法


ActionBar.setDisplayHomeAsUpEnabled(flag);  //控制左上角返回按钮是否显示

ActionBar.setDisplayShowHomeEnabled(flag);//控制左上角返回按钮右边的图标是否可以显示

ActionBar.setHomeButtonEnabled(flag);//左上角返回按钮是否可以点击  


ActionBar.setDisplayOptions(int);可以一次性设置多个

参数是ActionBar里面的一些常量的值,官方API已经截图如下:

Android重写菜单增加系统自带返回键

 

上一篇:2022 Winter Individual Contest - A(补题+反思)


下一篇:Android属性动画源代码解析(超详细)