本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。
原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/
除了fragments(碎片),在Android3和4中新增加的特性,还有ActionBar(活动栏)。ActionBar位于传统标题栏的位置,就在设备屏幕的顶部。ActionBar显示了应用的图标和Activity的标题。可选择地,ActionBar的右侧是那些action items(活动项目)。下图展示了build-in(内置的)Email应用,显示了应用的图标,Activity(活动)的标题,以及一些活动项目。下一节将详细地讨论action items(活动项目)。
下面的例子,将会介绍如何通过编写代码去隐藏和显示ActionBar。
1. 创建一个工程,MyActionBar。
2. 按F11在模拟器上面调试。此时,你就会看见ActionBar被放置在了屏幕的顶端(包含应用的图标和应用的名称“MyActionBar”)。如下图。
3. 想要隐藏ActionBar,可以在AndroidManifest.xml中加入以下代码。
- <?xmlversion="1.0"encoding="utf-8"?>
- <manifestxmlns:android="http://schemas.android.com/apk/res/android"
- package="net.learn2develop.MyActionBar"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdkandroid:minSdkVersion="13"/>
- <application
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name">
- <activity
- android:label="@string/app_name"
- android:name=".MyActionBarActivity"
- android:theme="@android:style/Theme.Holo.NoActionBar">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- </application>
- </manifest>
4. 按F11重新调试,就会看见,这次ActionBar就不会显示了。
5、也可以通过编写代码的方式去移除ActionBar,但这要使用ActionBar类。如果想这么做的话,首先就得把AndroidManifest.xml中的android:theme属性去掉,否则,将会引起一个Exception(异常)。
6、在MyActionBar.java文件中加入如下代码。
- publicclassMyActionBarActivityextendsActivity{
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- ActionBaractionBar=getActionBar();
-
- actionBar.hide();
-
- }
- }
7、按F11重新调试,发现ActionBa依然是隐藏的,但是此时AndroidManifest.xml中的android:theme属性已经被删除了。
注意:
如果在AndroidManifest.xml中定义了主题,把ActionBar给隐藏了。在程序运行时,如果执行getActionBar()方法,就会返回一个null。所以,一般情况下,总是通过编写代码的方式去控制ActionBar的显示和隐藏。
分享到:
相关推荐
android 3.0以下兼容actionbar例子,包括actionbar的tab
自定义actionbar,定义一个actionbar模板,以便在程序中所有的activity中都能引用
Android例子源码使用ActionBar的高仿微信主界面设计.
android 低版本实现ActionBar ,actionBar 在android3.0以下经过处理之后才可以使用
此示例作为csdn博客(Android Studio环境下ActionBar的使用教程以及如何解决遇到的问题)的测试Demo,仅供参考
android的actionbar开发,以及使用radio button代替Tab
ActionBar取代了传统的标题栏(title),其在activity位置就是title原有的位置,在activity的顶部。ActionBar上默认情况下包括了应用(app)的logo,logo的位置在ActionBar的左侧,紧挨在logo右侧的是activity的标题...
Android ActionBar自定义布局
android actionBar PPT
在android3.0版本之前使用ActionBar,出现了很多问题,比如overflow出不来,菜单项显示只有文字没有图标等,本例子解决了这些问题,在android2.3和android4.0测试通过
Android自定义ActionBar,常用的样式
用ActionBar取代Android3.0之前的顶部标题栏,效果更炫,功能更丰富。项目中包含:源码+效果图+项目结构图 效果见博客地址:http://blog.csdn.net/yangyu20121224/article/details/9042387
android actionbar的简单实例 带返回按钮
Android 弹无虚发之第一弹:Android 2.X平台完美兼容ActionBar以及Actionbar的常用攻略 详细介绍请参考博客:http://blog.csdn.net/xy_nyle/article/details/17799753
android中自定义actionbar的源码,详情地址:http://blog.csdn.net/zhong1113/article/details/46332563
Cangol-ActionBar 是一款Android自定义ActionBar组件。 截图: 使用: Maven <groupId>mobi.cangol.mobile <artifactId>actionbar <version>1.0.1 <type>aar Gradle compile 'mobi...
android actionbar通用组件,帮组开发者减少工作量
Android ActionBar 使用示例
该资源中包含了几个用actionbar实现的小例子,从简单到高级,简单易懂,喜欢的下载!
Android 实现自定义ActionBar(仿qq)