在上一节中,菜单选项是没有文字的。如果想要同时显示图标和文字,可以一起使用“|”和MenuItem.SHOW_AS_ACTION_WITH_TEXT常量。
- MenuItemmnu1=menu.add(0,0,0,"Item1");
- {
- 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常量。
- privatebooleanMenuChoice(MenuItemitem)
- {
- switch(item.getItemId()){
- caseandroid.R.id.home:
- Toast.makeText(this,
- "YouclickedontheApplicationicon",
- Toast.LENGTH_LONG).show();
- returntrue;
- case0:
- Toast.makeText(this,"YouclickedonItem1",
- Toast.LENGTH_LONG).show();
- returntrue;
- case1:
- ......
- }
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- ActionBaractionBar=getActionBar();
- actionBar.setDisplayHomeAsUpEnabled(true);
- //actionBar.hide();
- //actionBar.show();//---showitagain---
- }

一般情况下,一个应用可能包含很多activity,那么应用的图标通常被用来返回主Activity。如果想这么做,就需要一个Intent对象,并使用Intent.FLAG_ACTIVITY_CLEAR_TOP标志。
- caseandroid.R.id.home:
- Toast.makeText(this,
- "YouclickedontheApplicationicon",
- Toast.LENGTH_LONG).show();
- Intenti=newIntent(this,MyActionBarActivity.class);
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(i);
- returntrue;
本文详细介绍了如何在Android应用中将图标与文字结合显示于菜单项,并通过Action项目和应用图标实现导航功能。包括如何设置显示方式、识别应用图标点击事件及使用Intent清除返回栈。
2753

被折叠的 条评论
为什么被折叠?



