在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 :

  1. 让你的activity继承ActionBarActivity。比如:

    public class MainActivity extends ActionBarActivity { ... }
  2. 在你的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>

译者注:通过最新版ADT创建的应用。假设设置的应用最低支持Android版本号为2.2或更高(低于3.0),ADT会自己主动导入Support包(v7
appcompat
 库)。參考:http://blog.csdn.net/sweetvvck/article/details/38345671http://blog.csdn.net/sweetvvck/article/details/38346547

Android学习路径(七)建立Action Bar的更多相关文章

  1. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  2. Android学习路径(十)如何将Action Bar堆放在布局

    默认情况下,action bar出如今activity窗体的顶部,稍微降低了activity布局的总空间.假设你想隐藏或者显示action bar,在这堂用户体验的课程中,你能够通过调用hide()  ...

  3. Android学习路径(十)怎么会Action Bar堆放在布局

    默认情况下.action bar出如今activity窗体的顶部.稍微降低了activity布局的总空间. 假设你想隐藏或者显示action bar.在这堂用户体验的课程中,你能够通过调用hide() ...

  4. 学习android文档 -- Adding the Action Bar

    1. Setting Up the Action Bar:users-sdk version 11以上可以使用holo主题:如果不使用holo主题,或者sdk版本较低,则需要在manifest文件的& ...

  5. android学习笔记七——控件(DatePicker、TimePicker、ProgressBar)

    DatePicker.TimePicker ==> DatePicker,用于选择日期 TimePicker,用于选择时间 两者均派生与FrameLayout,两者在FrameLayout的基础 ...

  6. Android学习路径——Android的四个组成部分activity(一)

    一.什么是Activity? Activity简单的说就是一个接口.我们是Android手机上看到的每个界面就是一个activity. 二.Activity的创建 1.定义一个类继承activity, ...

  7. 【Android】完善Android学习(七:API 4.0.3)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  8. Android学习路径(22)应用Fragment建立动态UI——构建一个灵活UI

    当你设计你的应用来支持多个屏幕尺寸.你能够基于可用的屏幕空间通过在不同的布局上重用fragment来优化用户体验. 比如,在一个手机上.使用单面板(一次仅仅显示一个fragment)的用户体验更加合适 ...

  9. Android学习路径(23)应用Fragment建立动态UI——Fragment之间的通信

    为了要重用Fragment的UI组件.你应该为它们每个都构建一个完整独立的,模块化的组件来定义他自身的布局和行为. 一旦你定义了这些可重用的Fragments.你能够通过activity关联它们同一时 ...

随机推荐

  1. Thinkphp常用标签

    告:在使用下列所说的任何标签库都需要 HTML第一行加入 <tarlib name=”cx,html” /> 如果想单独引入cx标签库就直接写成<tarlib name=”cx” / ...

  2. Linq 导出Excel

    var d = db.User; Repeater1.DataSource = d.ToList(); Repeater1.DataBind(); string guid = Guid.NewGuid ...

  3. php获取前一天,前一个月,前一年的时间

    获取前一天的时间: $mytime= date("Y-m-d H:i:s", strtotime("-1 day")); 获取三天前的时间: $mytime= ...

  4. 获取编译学习笔记 (六)—— si、di,双环

    疯狂暑期学习  汇编入门学习笔记 (六)-- si.di,双重循环 參考: <汇编语言> 王爽 第7章 1. and和or指令,与[bx+idata] and和or.就不多说了. [bx+ ...

  5. 使用NaturalDuration获取音频的时长

    #region customizeTime ) sec = " + mediaElement.Position.Seconds.ToString(); else sec = mediaEle ...

  6. Vs2012在Linux应用程序开发(3):加入新平台hi3516

    下面我们将VS2012添加一个新的平台支持,由于近来与哈斯hi3516.就选它吧! 1.1     复制平台文件 原来一直认为要让VS支持一个新的平台须要编写代码,某天在看MSBUILD文件夹的时候突 ...

  7. 边记边学PHP-(十五)MySQL数据库基础操作2

    四.使用可视化工具创建数据库 尽管使用命令行感觉更像我们程序猿,可是我还是比較喜欢使用workbench来创建数据库. 首先打开workbench , 一个比較友好的界面就打开了,哈哈.我还是比較喜欢 ...

  8. 玩转html5(一)-----盘点html5新增的那些酷酷的input类型和属性

    今天正式开始学习html5了,相比html以前的版本,html5新增了好多功能,属性,使我们做出来的界面更加的绚丽,而且使用起来超级简单,这篇文章先来说说html增加的那些input类型和属性. 这些 ...

  9. Binomial Coeffcients 历届山东省省赛题

    Binomial Coeffcients Time Limit: 1000MS Memory limit: 65536K 题目描述   输入   输出   示例输入 3 1 1 10 2 954 72 ...

  10. Android 混淆proguard的实现(图文)

    1.  在Eclipse中的project编译执行后,在文件夹bin以下有生成一些文件,当中classes.dex是未经过混淆生成的.而我们要混淆的话,就要又一次生成一个混淆过的classes.dex ...