在Activity上添加ActionBar时,可以设置显示在ActionBar上的Home导航键, 即ActionBar上指向左边的箭头。
在ActionBar中,添加向左的箭头的接口为:
setDisplayHomeAsUpEnabled(true);也可以利用ActionBar的DisplayOptions属性,例如:
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE| ActionBar.DISPLAY_HOME_AS_UP);整个操作是非常简单的,但有一点需要注意: 在原生的Activity中,获取ActionBar时,调用的接口为getActionBar, 使用该接口后,就能利用setDisplayHomeAsUpEnabled成功添加图标。
如果继承的是android.support.v7.app.AppCompatActivity,就必须用getSupportActionBar获取 android.support.v7.app.ActionBar;然后再利用setDisplayHomeAsUpEnabled添加向左的图标。
当在AppCompatActivity的子类中,调用getActionBar获取ActionBar时, 调用setDisplayHomeAsUpEnabled接口是没有效果的。
监听ActionBar导航键,只需要重写Activity的onOptionsItemSelected即可:
.............. @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: //实现具体操作 ........... break; } return super.onOptionsItemSelected(item); } ............注意到只有Activity可以监听ActionBar的点击操作, 在Activity托管的Fragment中重写onOptionsItemSelected是没有用的。