本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。
原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/
在上一节中,菜单选项是没有文字的。如果想要同时显示图标和文字,可以一起使用“|”和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:
- ......
- }
如果想让应用图标能被点击,我们需要调用setDisplayHomeAsUpEnable()方法:
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- ActionBaractionBar=getActionBar();
- actionBar.setDisplayHomeAsUpEnabled(true);
- }
当点击应用图标:
一般情况下,一个应用可能包含很多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;
使用Intent.FLAG_ACTIVITY_CLEAR_TOP标识,可以确保当点击应用图标的时候,在“返回栈”里面的那些activity都会被清除掉。使用这种方法,如果用户点击返回键,其他的activity将不会再显示出来。
分享到:
相关推荐
Android 实现自定义ActionBar(仿qq)
自定义actionbar,定义一个actionbar模板,以便在程序中所有的activity中都能引用
Android自定义ActionBar,常用的样式
包括2个代码例子,一个是自定义 actionbar 适合用于3.0以下版本也需要使用actionbar。一个例子是 修改actionbar style样式,如果替换背景等。
Android自定义ActionBar示例。 用法参考: http://blog.csdn.net/zircon_1973/article/details/7680404
android中自定义actionbar的源码,详情地址:http://blog.csdn.net/zhong1113/article/details/46332563
本例中主要是如何创建自定义的 ActionBar。 观察上图的,当切换界面时,每个界面的顶部最多只有两个图标,而且有4个界面具有类似特性。所以可以考虑通过自定义控件来创建UI模板。 由于是需要创建出具有重用功能的...
主要介绍了Android自定义ActionBar的实现方法,以实例形式较为详细的分析了自定义ActionBar的原理与具体步骤,并附带完整实例代码供大家下载查看,需要的朋友可以参考下
自定义ActionBar使标题居中显示,博客链接:http://blog.csdn.net/tan313/article/details/45039677
仿Youku主页面 自定义ActionBar
Cangol-ActionBar 是一款Android自定义ActionBar组件。 截图: 使用: Maven <groupId>mobi.cangol.mobile <artifactId>actionbar <version>1.0.1 <type>aar Gradle compile 'mobi...
该资源包含了一个android实现的自定义的actionbar,和viewpager+fragment实现的滑动切换的效果,简单易懂。
Android ActionBar自定义布局
Android源代码:自定义的actionbar搜索框CustomSearchView-master
自定义ActionBar样式, title居中。
自定义actionbar源码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
android 3.0以下兼容actionbar例子,包括actionbar的tab
android 4.0.3 actionbar 自定义视图布局,标题栏自定义实现,共享一下源码