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. }  


效果图如下:





如果没有引入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已经截图如下:


 

目录
相关文章
|
4天前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
29 15
Android 系统缓存扫描与清理方法分析
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
65 0
|
6天前
|
安全 搜索推荐 Android开发
深入探索安卓与iOS系统的差异及其对用户体验的影响
在当今的智能手机市场中,安卓和iOS是两大主流操作系统。它们各自拥有独特的特性和优势,为用户提供了不同的使用体验。本文将深入探讨安卓与iOS系统之间的主要差异,包括它们的设计理念、用户界面、应用生态以及安全性等方面,并分析这些差异如何影响用户的使用体验。
|
6天前
|
安全 搜索推荐 Android开发
揭秘iOS与Android系统的差异:一场技术与哲学的较量
在当今数字化时代,智能手机操作系统的选择成为了用户个性化表达和技术偏好的重要标志。iOS和Android,作为市场上两大主流操作系统,它们之间的竞争不仅仅是技术的比拼,更是设计理念、用户体验和生态系统构建的全面较量。本文将深入探讨iOS与Android在系统架构、应用生态、用户界面及安全性等方面的本质区别,揭示这两种系统背后的哲学思想和市场策略,帮助读者更全面地理解两者的优劣,从而做出更适合自己的选择。
|
24天前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
24天前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
2月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
66 6
|
2月前
|
Dart 开发工具 Android开发
在 Android 系统上搭建 Flutter 环境的具体步骤是什么?
在 Android 系统上搭建 Flutter 环境的具体步骤是什么?
|
2月前
|
Android开发 UED 开发者
Android经典实战之WindowManager和创建系统悬浮窗
本文详细介绍了Android系统服务`WindowManager`,包括其主要功能和工作原理,并提供了创建系统悬浮窗的完整步骤。通过示例代码,展示了如何添加权限、请求权限、实现悬浮窗口及最佳实践,帮助开发者轻松掌握悬浮窗开发技巧。
196 1
|
3月前
|
API Android开发
Android使用AlertDialog实现弹出菜单
本文分享了在Android开发中使用AlertDialog实现弹出菜单的方法,并通过代码示例和错误处理,展示了如何避免因资源ID找不到导致的crash问题。
58 1