给AppCompatActivity的标题栏上加上返回按钮

转载自http://www.jianshu.com/p/3600b2178afa


目前基于android6.0版本sdk并通过android studio创建的空Activity默认都是继承自AppCompatActivity。

给AppCompatActivity的标题栏上加上返回按钮_第1张图片

创建空的Activity

在默认情况下,这个Activity在标题栏上是没有返回按钮的,如下图所示:

给AppCompatActivity的标题栏上加上返回按钮_第2张图片

默认显示效果

此时如果需要给AppCompatActivity的标题栏上加上返回按钮,可以在Activity的onCreate中加入如下代码:

android.support.v7.app.ActionBaractionBar= getSupportActionBar();if(actionBar !=null){        actionBar.setHomeButtonEnabled(true);        actionBar.setDisplayHomeAsUpEnabled(true);    }

在onOptionsItemSelected中加入如下代码:

@OverridepublicbooleanonOptionsItemSelected(MenuItem item){switch(item.getItemId()) {caseandroid.R.id.home:this.finish();// back buttonreturntrue;        }returnsuper.onOptionsItemSelected(item);    }

运行效果,如下:

给AppCompatActivity的标题栏上加上返回按钮_第3张图片

加上返回键的效果

完整的示例代码如下:

packagecom.toby.personal.myapplication;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.MenuItem;publicclassMainActivityextendsAppCompatActivity{@Overrideprotectedvoid onCreate(BundlesavedInstanceState) {super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        android.support.v7.app.ActionBaractionBar = getSupportActionBar();if(actionBar !=null){            actionBar.setHomeButtonEnabled(true);            actionBar.setDisplayHomeAsUpEnabled(true);        }    }@Overridepublic boolean onOptionsItemSelected(MenuItemitem) {        switch (item.getItemId()) {caseandroid.R.id.home:this.finish();// back buttonreturntrue;        }returnsuper.onOptionsItemSelected(item);    }}

你可能感兴趣的:(给AppCompatActivity的标题栏上加上返回按钮)