在action bar最今本的形式中,它只在左边展示了activity的标题以及应用的icon。
即使在这样的简单的形式中,它也不过告诉用户如今在应用的哪个activity中,同一时候为你的应用保持一个标识。
图1. 一个展示应用icon和activity标题的action bar
设置一个主要的action bar须要你的应用使用支持action bar的主题。怎样来请求这种主题要看你所选择的你的应用最低支持的Android版本号。因此本课会依据应用支持的不同的Android最低版本号分为两个部分。
支持Android 3.0及以上版本号
从Android 3.0 (API level 11)開始,全部的activity都使用的是Theme.Holo
主题
(或者它的子主题),包括了action bar,在你的targetSdkVersion
或者minSdkVersion
属性被设置为11或者更高时,Theme.Holo主题是应用默认主题。
所以要为你的activity加入action bar,仅仅须要简单的这是上面当中一种属性为11或者更高。
例如以下所看到的:
<manifest ... > <uses-sdk android:minSdkVersion="11" ... /> ... </manifest>
提示: 假设你创建了一个自己定义的主题,要确保它是Theme.Holo
主题的子主题。很多其它信息,请查看Styling
the Action Bar。
就这样,如今你的应用已经使用了Theme.Holo
主题,你的全部activity中都会显示action
bar了。
支持Android 2.1及以上版本号(低于Android 3.0)
要在执行在Android 3.0 (低至2.1) 版本号的设备上的应用上加入action bar,须要在应用中导入Android Support Library 。
作为開始。阅读Support Library Setup 文档,同一时候加入v7 appcompat 库 (当你下载完support包后,依据Adding libraries with resources 说明文档来导入)。
一旦你的应用项目整合了Support Library :
- 让你的activity继承
ActionBarActivity
。比如:public class MainActivity extends ActionBarActivity { ... }
- 在你的manifest 文件里,在你的
<application>
元素或者独立的<activity>
元素中使用Theme.AppCompat
主题。比如:<activity android:theme="@style/Theme.AppCompat.Light" ... >
提示: 假设你创建了一个自己定义主题,确保它是
Theme.AppCompat
主题的子主题。详情请阅读Styling the Action Bar。
如今你的执行在Android 2.1 (API level 7) 或更高版本号的应用的activity中也包括了action bar了。
记住要争取额的设置你的应用支持的android API版本号:
<manifest ... > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" /> ... </manifest>