原文地址:https://developer.android.com/training/basics/actionbar/setting-up.html
设置ActionBar
在最常见的基本状态下,ActionBar显示当前Activity的标题并且在它的左侧显示应用程序的图标。即使在这种最简单的状态下,ActionBar对所有Activity也是非常有用的,它可以告知用户他们当前所处的页面位置以及帮助应用程序保持始终如一的一致性。
图片1. 一个包含了Activity标题和应用程序图标的ActionBar
使用基本ActionBar要求你的应用使用一个启用了ActionBar的Activity主题。如何启用这样一个主题取决于你应用程序所兼容的最低Android系统版本,据此该教程将分为两部分。
支持Android3.0或更高
从Android3.0(API 11)开始,所有使用了 Theme.Holo主题
或其子主题的Activity都将自动包括一个ActionBar, Theme.Holo
是 targetSdkVersion
或minSdkVersion
属性设置为11或更高时的默认属性。
所以为你的Activity添加ActionBar,只要简单的将以上两个属性的任意一个设置为11或更高即可,例如
<manifest ... > <uses-sdk android:minSdkVersion="11" ... /> ... </manifest>注意:如果你创建了一个自定义主题,确保它使用某一种Theme.Holo作为它的父主题,关于更多细节,请参考Styling the Action Bar。
这样 Theme.Holo
主题就被应用到你的应用程序上了,所有的Activity都会显示一个ActionBar,就这么简单。
支持Android2.1或更高
当为低于3.0的老版本(低至2.1)添加ActionBar支持时,你需要在应用程序中包含Android support库。
译者注:让ActionBar兼容至Android2.1版本需要在应用程序中包含support v7支持库。
当你将Android support库整合到你的工程中之后:
1. 你的Activity需要继承于ActionBarActivity,例如:
public class MainActivity extends ActionBarActivity { ... }2. 在manifest文件中,
<application>
节点或者 <activity>
节点使用其中一种 Theme.AppCompat
主题,例如:
<activity android:theme="@style/Theme.AppCompat.Light" ... >
现在你的Activity在Android 2.1(API 7)或更高的版本中都将支持ActionBar。
记住要在manifest文件中设置你的应用程序的API版本:
<manifest ... > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" /> ... </manifest>