在上一节中,菜单选项是没有文字的。如果想要同时显示图标和文字,可以一起使用“|”和MenuItem.SHOW_AS_ACTION_WITH_TEXT常量。
MenuItem mnu1 = menu.add(0, 0, 0, "Item 1"); { mnu1.setIcon(R.drawable.ic_launcher); mnu1.setShowAsAction( MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); }
除了可以点击Action项目,也可以点击ActionBar上面的应用图标。当应用图标被点击的时候,会调用onOptionsItemSelected()方法。如果想识别应用图标被点击了,可以使用adnroid.R.id.home常量。
一般情况下,一个应用可能包含很多activity,那么应用的图标通常被用来返回主Activity。如果想这么做,就需要一个Intent对象,并使用Intent.FLAG_ACTIVITY_CLEAR_TOP标志。
case android.R.id.home: Toast.makeText(this, "You clicked on the Application icon", Toast.LENGTH_LONG).show(); Intent i = new Intent(this, MyActionBarActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); return true;使用Intent.FLAG_ACTIVITY_CLEAR_TOP标识,可以确保当点击应用图标的时候,在“返回栈”里面的那些activity都会被清除掉。使用这种方法,如果用户点击返回键,其他的activity将不会再显示出来。