注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。
原文链接:http://developer.android.com/training/basics/actionbar/setting-up.html
配置Action Bar
Action Bar最基本的形式,是用来为Activity展示标题,并在左侧显示应用的图标。即使是这样的简单的形式,Action Bar对于所有activity来说依然是非常有用的,因为它可以用来告知用户他们现在所处的位置,同时还能为你的应用保持着一个一致的标识。
图1. 一个具有应用图标和Activity标题的Action Bar
配置一个基本的Action Bar需要你的应用使用一个支持Action Bar的Activity主题。如何获取这样的一个主题取决于你的应用支持的最低Android版本。所以,这节课根据系统平台版本的不同被分成了两个部分。
一). 支持Android 3.0及以上
从Android 3.0(API Level 11)开始,所有使用Theme.Holo主题的Activity都会包含Action Bar(或者包含它的一种衍生产物),这一主题是当targetSdkVersion或者
minSdkVersion属性字段被设置成11或更高时的默认主题。
所以为了将Action Bar添加至你的应用,只需简单地将这两个属性字段的任意一个设置为11或更高就行了,例如:
<manifest ... >
<uses-sdk android:minSdkVersion="11" ... />
...
</manifest>
Note:
如果你创建了一个自定义主题,那么请确保它是以Theme.Holo为父类的主题。更多信息,可以阅读:Styling the Action Bar
现在你的App已经应用了Theme.Holo主题,并且所有相关的activity都显示了Action Bar,就是这样!
二). 支持Android 2.1及以上
要在Android 3.0以下(最低可以是Android 2.1)的设备上运行并且添加Action Bar需要你在你的应用中添加Android Support Library。
在开始之前,请先阅读:Support Library Setup然后配置v7 appcompat库(一旦你下载好了这个库,按照Adding libraries with resources中的指引一步步做)。
当你将Android Support Library集成到你的项目工程以后:
- 更新你的activity,使它继承自
ActionBarActivity,例如:
public class MainActivity extends ActionBarActivity { ... }
- 在你的清单文件,更新
<application>标签或者一个
<activity>标签,使用Theme.AppCompat中的某一个主题。例如:
<activity android:theme="@style/Theme.AppCompat.Light" ... >
Note:
如果你创建了一个自定义主题,那么请确保它是以Theme.AppCompat为父类的主题。更多信息,可以阅读:Styling the Action Bar
现在当你的应用在Android 2.1(API Level 7)或更高版本的设备上运行时,就拥有过了Action Bar
别忘了在清单文件中正确设置你的应用所支持的API Level:
<manifest ... >
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" />
...
</manifest>