条件:当前项目导入了ActionBarSherlock这个jar包,这个jar包的作用为了程序的兼容性,考虑低版本的问题.
学习ActionBarSherlock参考博客链接:http://blog.csdn.net/icyfox_bupt/article/details/9286387
接下来贴上代码
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //这行必须要写
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- return true;
- }
- //监听返回按钮操作事件
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()){
- case android.R.id.home:
- Toast.makeText(this, "您点击了返回按钮", Toast.LENGTH_LONG).show();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
效果图如下:
如果没有引入ActionBarSherlock这个jar包的写法如下
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getActionBar().setDisplayHomeAsUpEnabled(true);//这句话必须要写
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home://增加点击事件
- finish();
- break;
- default:
- break;
- }
- return super.onOptionsItemSelected(item);
- }
顺便介绍几个ActionBar的方法
ActionBar.setDisplayHomeAsUpEnabled(flag); //控制左上角返回按钮是否显示
ActionBar.setDisplayShowHomeEnabled(flag);//控制左上角返回按钮右边的图标是否可以显示
ActionBar.setHomeButtonEnabled(flag);//左上角返回按钮是否可以点击
ActionBar.setDisplayOptions(int);可以一次性设置多个
参数是ActionBar里面的一些常量的值,官方API已经截图如下: