目前基于android6.0版本sdk并通过android studio创建的空Activity默认都是继承自AppCompatActivity。
在默认情况下,这个Activity在标题栏上是没有返回按钮的,如下图所示:
此时如果需要给AppCompatActivity的标题栏上加上返回按钮,可以在Activity的onCreate中加入如下代码:
1 2 3 4 5 |
android.support.v7.app.ActionBar actionBar = getSupportActionBar(); if(actionBar != null){ actionBar.setHomeButtonEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); } |
在onOptionsItemSelected中加入如下代码:
1 2 3 4 5 6 7 8 9 |
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); // back button return true; } return super.onOptionsItemSelected(item); } |
运行效果,如下:
完整的示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
package com.toby.personal.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MenuItem; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); android.support.v7.app.ActionBar actionBar = getSupportActionBar(); if(actionBar != null){ actionBar.setHomeButtonEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); // back button return true; } return super.onOptionsItemSelected(item); } } |