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

条件:当前项目导入了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已经截图如下:


 


posted @ 2014-06-17 16:56  安辉  阅读(5267)  评论(0编辑  收藏  举报